From: Daniel Dunbar Date: Thu, 19 Nov 2009 18:47:17 +0000 (+0000) Subject: Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a08304a38c2fecd647f41039d2245f0c4cd33504;p=clang Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89371 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/CC1Options.h b/include/clang/Driver/CC1Options.h index 057022ce38..4a8bbe5feb 100644 --- a/include/clang/Driver/CC1Options.h +++ b/include/clang/Driver/CC1Options.h @@ -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" diff --git a/include/clang/Driver/OptParser.td b/include/clang/Driver/OptParser.td index 3df315a0db..f5b6980d8f 100644 --- a/include/clang/Driver/OptParser.td +++ b/include/clang/Driver/OptParser.td @@ -24,6 +24,10 @@ class OptionKind { // 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 flags> { list Flags = flags; } class Group { OptionGroup Group = group; } class HelpText { string HelpText = text; } class MetaVarName { string MetaVarName = name; } + +// Predefined options. + +// FIXME: Have generator validate that these appear in correct position (and +// aren't duplicated). +def INPUT : Option<"", KIND_INPUT>, Flags<[DriverOption]>; +def UNKNOWN : Option<"", KIND_UNKNOWN>; diff --git a/include/clang/Driver/Options.h b/include/clang/Driver/Options.h index b05d5afd75..ac312cdfd4 100644 --- a/include/clang/Driver/Options.h +++ b/include/clang/Driver/Options.h @@ -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" diff --git a/lib/Driver/CC1Options.cpp b/lib/Driver/CC1Options.cpp index 672fe0401e..0398dd57fb 100644 --- a/lib/Driver/CC1Options.cpp +++ b/lib/Driver/CC1Options.cpp @@ -16,11 +16,6 @@ using namespace clang::driver::options; using namespace clang::driver::cc1options; static OptTable::Info CC1InfoTable[] = { - // The InputOption info - { "", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID }, - // The UnknownOption info - { "", 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, \ diff --git a/lib/Driver/DriverOptions.cpp b/lib/Driver/DriverOptions.cpp index eddaee0546..d1af95cd45 100644 --- a/lib/Driver/DriverOptions.cpp +++ b/lib/Driver/DriverOptions.cpp @@ -15,11 +15,6 @@ using namespace clang::driver; using namespace clang::driver::options; static OptTable::Info InfoTable[] = { - // The InputOption info - { "", 0, 0, Option::InputClass, DriverOption, 0, OPT_INVALID, OPT_INVALID }, - // The UnknownOption info - { "", 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, \