diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-11-07 19:51:54 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-11-07 19:51:54 +0000 |
commit | 55ccbd5fbfc6dce1b93779ba2dac0da259503ae0 (patch) | |
tree | 1f3d1b78babf880e18913b75aeb4ac38995e98eb | |
parent | 8da270e644481a3ddd13f937970b3555332182c9 (diff) |
Tablegenify -g options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144001 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Driver/Options.td | 15 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 15 |
2 files changed, 9 insertions, 21 deletions
diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 61e5967717..68d132dc17 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -512,13 +512,16 @@ def fzero_initialized_in_bss : Flag<"-fzero-initialized-in-bss">, Group<f_Group> def ffunction_sections: Flag <"-ffunction-sections">, Group<f_Group>; def fdata_sections : Flag <"-fdata-sections">, Group<f_Group>; def f : Joined<"-f">, Group<f_Group>; -def g0 : Joined<"-g0">, Group<g_Group>; -def g3 : Joined<"-g3">, Group<g_Group>; -def gfull : Joined<"-gfull">, Group<g_Group>; -def gstabs : Joined<"-gstabs">, Group<g_Group>; -def gused : Joined<"-gused">, Group<g_Group>; +def g0 : Flag<"-g0">, Group<g_Group>; +def g3 : Flag<"-g3">, Group<g_Group>; +def gdwarf2 : Flag<"-gdwarf-2">, Group<g_Group>; +def gfull : Flag<"-gfull">, Group<g_Group>; +def gstabs : Flag<"-gstabs">, Group<g_Group>; +def gstabsplus : Flag<"-gstabs+">, Group<g_Group>; +def gstabs1 : Flag<"-gstabs1">, Group<g_Group>; +def gstabs2 : Flag<"-gstabs2">, Group<g_Group>; +def gused : Flag<"-gused">, Group<g_Group>; def g_Flag : Flag<"-g">, Group<g_Group>; -def g_Joined : Joined<"-g">, Group<g_Group>; def headerpad__max__install__names : Joined<"-headerpad_max_install_names">; def index_header_map : Flag<"-index-header-map">; def idirafter : JoinedOrSeparate<"-idirafter">, Group<clang_i_Group>; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 64b538d145..b459a7a05f 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1458,22 +1458,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.ClaimAllArgs(options::OPT_g_Group); if (Arg *A = Args.getLastArg(options::OPT_g_Group)) if (!A->getOption().matches(options::OPT_g0)) { - const std::string &ArgString = A->getAsString(Args); - bool Valid_g = llvm::StringSwitch<bool>(ArgString) - .Case("-g", true) - .Case("-g3", true) - .Case("-gdwarf-2", true) - .Case("-gstabs", true) - .Case("-gstabs+", true) - .Case("-gstabs1", true) - .Case("-gstabs2", true) - .Case("-gfull", true) - .Case("-gused", true) - .Default(false); - if (Valid_g) CmdArgs.push_back("-g"); - else - D.Diag(diag::warn_drv_clang_unsupported) << ArgString; } Args.AddAllArgs(CmdArgs, options::OPT_ffunction_sections); |