diff options
author | ed <ed@FreeBSD.org> | 2009-06-06 08:21:31 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-06-06 08:21:31 +0000 |
commit | 265c92560db8af7e64dc328cb612076086a62bd1 (patch) | |
tree | 06d57bb7679a2140aef96db7105a0bd5f16a4358 /lib/Driver/Tools.cpp | |
parent | 9e262ca77e924f9d84a864b031a1b931d03c5e38 (diff) | |
download | FreeBSD-src-265c92560db8af7e64dc328cb612076086a62bd1.zip FreeBSD-src-265c92560db8af7e64dc328cb612076086a62bd1.tar.gz |
Import clang, at r72995.
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r-- | lib/Driver/Tools.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index eca6413..6b082c8 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -329,7 +329,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (Args.hasFlag(options::OPT_msoft_float, options::OPT_mno_soft_float, false)) - CmdArgs.push_back("--soft-float"); + CmdArgs.push_back("--no-implicit-float"); // FIXME: Handle -mtune=. (void) Args.hasArg(options::OPT_mtune_EQ); @@ -505,6 +505,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-fblocks=0"); } + // -fsigned-char/-funsigned-char default varies depending on platform; only + // pass if specified. + if (Arg *A = Args.getLastArg(options::OPT_fsigned_char, + options::OPT_funsigned_char)) { + if (A->getOption().matches(options::OPT_fsigned_char)) + CmdArgs.push_back("-fsigned-char"); + else + CmdArgs.push_back("-fsigned-char=0"); + } + // -fno-pascal-strings is default, only pass non-default. If the // -tool chain happened to translate to -mpascal-strings, we want to // -back translate here. @@ -539,6 +549,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (Args.hasFlag(options::OPT_fdiagnostics_show_option, options::OPT_fno_diagnostics_show_option)) CmdArgs.push_back("-fdiagnostics-show-option"); + if (!Args.hasFlag(options::OPT_fcolor_diagnostics, + options::OPT_fno_color_diagnostics)) + CmdArgs.push_back("-fno-color-diagnostics"); // -fdollars-in-identifiers default varies depending on platform and // language; only pass if specified. |