diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-01-07 01:05:02 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-01-07 01:05:02 +0000 |
commit | a4cfff87b9b1bce0b0c221096d2534e8277b39e2 (patch) | |
tree | 294feceab5edad129f6c7deb2e8845c50a78696a /clang/lib/Driver/Tools.cpp | |
parent | dd47216cc4460119a7453eea880c6455d2f0fa87 (diff) | |
download | bcm5719-llvm-a4cfff87b9b1bce0b0c221096d2534e8277b39e2.tar.gz bcm5719-llvm-a4cfff87b9b1bce0b0c221096d2534e8277b39e2.zip |
Add all options needed to support -fapple-kext. wip.
llvm-svn: 122987
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 9d9179b621a..ee77f48c7c1 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1284,6 +1284,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, } } + if (Args.getLastArg(options::OPT_fapple_kext)) + CmdArgs.push_back("-fapple-kext"); + Args.AddLastArg(CmdArgs, options::OPT_fno_show_column); Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch); Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info); @@ -1321,8 +1324,14 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // Forward -f options with positive and negative forms; we translate // these by hand. + if (Args.hasArg(options::OPT_mkernel)) { + if (!Args.hasArg(options::OPT_fapple_kext)) + CmdArgs.push_back("-fapple-kext"); + if (!Args.hasArg(options::OPT_fbuiltin)) + CmdArgs.push_back("-fno-builtin"); + } // -fbuiltin is default. - if (!Args.hasFlag(options::OPT_fbuiltin, options::OPT_fno_builtin)) + else if (!Args.hasFlag(options::OPT_fbuiltin, options::OPT_fno_builtin)) CmdArgs.push_back("-fno-builtin"); if (!Args.hasFlag(options::OPT_fassume_sane_operator_new, @@ -1519,9 +1528,14 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, options::OPT_mno_pascal_strings, false)) CmdArgs.push_back("-fpascal-strings"); - + + if (Args.hasArg(options::OPT_mkernel) || + Args.hasArg(options::OPT_fapple_kext)) { + if (!Args.hasArg(options::OPT_fcommon)) + CmdArgs.push_back("-fno-common"); + } // -fcommon is default, only pass non-default. - if (!Args.hasFlag(options::OPT_fcommon, options::OPT_fno_common)) + else if (!Args.hasFlag(options::OPT_fcommon, options::OPT_fno_common)) CmdArgs.push_back("-fno-common"); // -fsigned-bitfields is default, and clang doesn't yet support |