From 089f872fedb175f7569f24f1dba362ffbc403528 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 7 Apr 2011 20:41:03 +0000 Subject: [PATCH] Driver: Don't attempt to forward some Clang-only options to cc1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129108 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Driver/Options.td | 9 +++++---- lib/Driver/Tools.cpp | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 1e932d4221..e4f88bc619 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -29,6 +29,7 @@ def X_Group : OptionGroup<"">; def a_Group : OptionGroup<"">; def d_Group : OptionGroup<"">; def f_Group : OptionGroup<"">, Group; +def f_clang_Group : OptionGroup<"">, Group; def g_Group : OptionGroup<"">; def i_Group : OptionGroup<"">, Group; def clang_i_Group : OptionGroup<"">, Group; @@ -267,12 +268,12 @@ def fcreate_profile : Flag<"-fcreate-profile">, Group; def fcxx_exceptions: Flag<"-fcxx-exceptions">, Group; def fdebug_pass_arguments : Flag<"-fdebug-pass-arguments">, Group; def fdebug_pass_structure : Flag<"-fdebug-pass-structure">, Group; -def fdiagnostics_fixit_info : Flag<"-fdiagnostics-fixit-info">, Group; -def fdiagnostics_print_source_range_info : Flag<"-fdiagnostics-print-source-range-info">, Group; -def fdiagnostics_parseable_fixits : Flag<"-fdiagnostics-parseable-fixits">, Group; +def fdiagnostics_fixit_info : Flag<"-fdiagnostics-fixit-info">, Group; +def fdiagnostics_print_source_range_info : Flag<"-fdiagnostics-print-source-range-info">, Group; +def fdiagnostics_parseable_fixits : Flag<"-fdiagnostics-parseable-fixits">, Group; def fdiagnostics_show_option : Flag<"-fdiagnostics-show-option">, Group; def fdiagnostics_show_note_include_stack : Flag<"-fdiagnostics-show-note-include-stack">, Group; -def fdiagnostics_show_category_EQ : Joined<"-fdiagnostics-show-category=">, Group; +def fdiagnostics_show_category_EQ : Joined<"-fdiagnostics-show-category=">, Group; def fdollars_in_identifiers : Flag<"-fdollars-in-identifiers">, Group; def felide_constructors : Flag<"-felide-constructors">, Group; def feliminate_unused_debug_symbols : Flag<"-feliminate-unused-debug-symbols">, Group; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 77ff2a025f..4ebdd8cefc 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2263,6 +2263,9 @@ void darwin::CC1::AddCC1OptionsArgs(const ArgList &Args, ArgStringList &CmdArgs, } else Args.AddAllArgs(CmdArgs, options::OPT_f_Group, options::OPT_fsyntax_only); + // Claim Clang only -f options, they aren't worth warning about. + Args.ClaimAllArgs(options::OPT_f_clang_Group); + Args.AddAllArgs(CmdArgs, options::OPT_undef); if (Args.hasArg(options::OPT_Qn)) CmdArgs.push_back("-fno-ident"); @@ -2320,6 +2323,9 @@ void darwin::CC1::AddCPPOptionsArgs(const ArgList &Args, ArgStringList &CmdArgs, // The driver treats -fsyntax-only specially. Args.AddAllArgs(CmdArgs, options::OPT_f_Group, options::OPT_fsyntax_only); + // Claim Clang only -f options, they aren't worth warning about. + Args.ClaimAllArgs(options::OPT_f_clang_Group); + if (Args.hasArg(options::OPT_g_Group) && !Args.hasArg(options::OPT_g0) && !Args.hasArg(options::OPT_fno_working_directory)) CmdArgs.push_back("-fworking-directory"); -- 2.50.1