]> granicus.if.org Git - clang/commitdiff
Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 19 Nov 2009 18:47:17 +0000 (18:47 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 19 Nov 2009 18:47:17 +0000 (18:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89371 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/CC1Options.h
include/clang/Driver/OptParser.td
include/clang/Driver/Options.h
lib/Driver/CC1Options.cpp
lib/Driver/DriverOptions.cpp

index 057022ce38c1905db1d537b4e6b7276ff7e3c6f9..4a8bbe5feb77f11d1da15033e5dc3c1c6f04ddb9 100644 (file)
@@ -17,8 +17,6 @@ namespace driver {
 namespace cc1options {
   enum ID {
     OPT_INVALID = 0, // This is not an option ID.
-    OPT_INPUT,       // Reserved ID for input option.
-    OPT_UNKNOWN,     // Reserved ID for unknown option.
 #define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
                HELPTEXT, METAVAR) OPT_##ID,
 #include "clang/Driver/CC1Options.inc"
index 3df315a0db8f8e1f0e537b78c78a8ce62332aee5..f5b6980d8f6a1239cc18c21b6160f7fe9ed153f5 100644 (file)
@@ -24,6 +24,10 @@ class OptionKind<string name, int predecence = 0, bit sentinel = 0> {
 
 // An option group.
 def KIND_GROUP : OptionKind<"Group">;
+// The input option kind.
+def KIND_INPUT : OptionKind<"Input", 1, 1>;
+// The unknown option kind.
+def KIND_UNKNOWN : OptionKind<"Unknown", 2, 1>;
 // A flag with no values.
 def KIND_FLAG : OptionKind<"Flag">;
 // An option which prefixes its (single) value.
@@ -116,3 +120,10 @@ class Flags<list<OptionFlag> flags> { list<OptionFlag> Flags = flags; }
 class Group<OptionGroup group> { OptionGroup Group = group; }
 class HelpText<string text> { string HelpText = text; }
 class MetaVarName<string name> { string MetaVarName = name; }
+
+// Predefined options.
+
+// FIXME: Have generator validate that these appear in correct position (and
+// aren't duplicated).
+def INPUT : Option<"<input>", KIND_INPUT>, Flags<[DriverOption]>;
+def UNKNOWN : Option<"<unknown>", KIND_UNKNOWN>;
index b05d5afd7578aaf4f49439f461ed2e0dce39343e..ac312cdfd4d22c1f4d15039ff8bbce48fbc38a97 100644 (file)
@@ -17,8 +17,6 @@ namespace driver {
 namespace options {
   enum ID {
     OPT_INVALID = 0, // This is not an option ID.
-    OPT_INPUT,       // Reserved ID for input option.
-    OPT_UNKNOWN,     // Reserved ID for unknown option.
 #define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
                HELPTEXT, METAVAR) OPT_##ID,
 #include "clang/Driver/Options.inc"
index 672fe0401e482997b33d1a8bf5cb90c929bea0eb..0398dd57fb0103c9c8f0e2176222c61463bc8dd4 100644 (file)
@@ -16,11 +16,6 @@ using namespace clang::driver::options;
 using namespace clang::driver::cc1options;
 
 static OptTable::Info CC1InfoTable[] = {
-  // The InputOption info
-  { "<input>", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID },
-  // The UnknownOption info
-  { "<unknown>", 0, 0, Option::UnknownClass, 0, 0, OPT_INVALID, OPT_INVALID },
-
 #define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
                HELPTEXT, METAVAR)   \
   { NAME, HELPTEXT, METAVAR, Option::KIND##Class, FLAGS, PARAM, \
index eddaee0546cc9483e93d23f6cf6d35f542655b88..d1af95cd450435791408c60c91c60ffc5efaac0a 100644 (file)
@@ -15,11 +15,6 @@ using namespace clang::driver;
 using namespace clang::driver::options;
 
 static OptTable::Info InfoTable[] = {
-  // The InputOption info
-  { "<input>", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID },
-  // The UnknownOption info
-  { "<unknown>", 0, 0, Option::UnknownClass, 0, 0, OPT_INVALID, OPT_INVALID },
-
 #define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
                HELPTEXT, METAVAR)   \
   { NAME, HELPTEXT, METAVAR, Option::KIND##Class, FLAGS, PARAM, \