diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-09-10 22:59:57 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-10 22:59:57 +0000 |
| commit | e2cf8f7b53da359e1a1d9ecbdf535e28c17e7e53 (patch) | |
| tree | bfb995a9b67924953971ddbef78641a3800cb14e /clang/lib/Driver | |
| parent | f492c92761f8c1b0195419ede039ac7a33e8fd83 (diff) | |
| download | bcm5719-llvm-e2cf8f7b53da359e1a1d9ecbdf535e28c17e7e53.tar.gz bcm5719-llvm-e2cf8f7b53da359e1a1d9ecbdf535e28c17e7e53.zip | |
Move X86 handling of -m[no-]soft-float and -m[no-]red-zone into AddX86TargetArgs.
llvm-svn: 81470
Diffstat (limited to 'clang/lib/Driver')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 272a24766c8..ad1c50b4ae8 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -319,6 +319,22 @@ void Clang::AddARMTargetArgs(const ArgList &Args, void Clang::AddX86TargetArgs(const ArgList &Args, ArgStringList &CmdArgs) const { + // FIXME: This needs to change to use a clang-cc option, and set the attribute + // on functions. + if (!Args.hasFlag(options::OPT_mred_zone, + options::OPT_mno_red_zone, + true) || + Args.hasArg(options::OPT_mkernel) || + Args.hasArg(options::OPT_fapple_kext)) + CmdArgs.push_back("--disable-red-zone"); + + // FIXME: This needs to change to use a clang-cc option, and set the attribute + // on functions. + if (Args.hasFlag(options::OPT_msoft_float, + options::OPT_mno_soft_float, + false)) + CmdArgs.push_back("--no-implicit-float"); + if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { // FIXME: We may need some translation here from the options gcc takes to // names the LLVM backend understand? @@ -521,16 +537,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("--unwind-tables=1"); else CmdArgs.push_back("--unwind-tables=0"); - if (!Args.hasFlag(options::OPT_mred_zone, - options::OPT_mno_red_zone, - true) || - Args.hasArg(options::OPT_mkernel) || - Args.hasArg(options::OPT_fapple_kext)) - CmdArgs.push_back("--disable-red-zone"); - if (Args.hasFlag(options::OPT_msoft_float, - options::OPT_mno_soft_float, - false)) - CmdArgs.push_back("--no-implicit-float"); // FIXME: Handle -mtune=. (void) Args.hasArg(options::OPT_mtune_EQ); |

