aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-11-07 19:51:54 +0000
committerChad Rosier <mcrosier@apple.com>2011-11-07 19:51:54 +0000
commit55ccbd5fbfc6dce1b93779ba2dac0da259503ae0 (patch)
tree1f3d1b78babf880e18913b75aeb4ac38995e98eb
parent8da270e644481a3ddd13f937970b3555332182c9 (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.td15
-rw-r--r--lib/Driver/Tools.cpp15
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);