summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-19 18:47:17 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-19 18:47:17 +0000
commit8c9efca5bd6bb24a9398af5c8c9e775c6625b94e (patch)
tree9d98d56e1278b5ae509404672564013457d8479f /clang
parent1eab66c7ccb1f388d7b7df0673b76fb233826643 (diff)
downloadbcm5719-llvm-8c9efca5bd6bb24a9398af5c8c9e775c6625b94e.tar.gz
bcm5719-llvm-8c9efca5bd6bb24a9398af5c8c9e775c6625b94e.zip
Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file.
llvm-svn: 89371
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Driver/CC1Options.h2
-rw-r--r--clang/include/clang/Driver/OptParser.td11
-rw-r--r--clang/include/clang/Driver/Options.h2
-rw-r--r--clang/lib/Driver/CC1Options.cpp5
-rw-r--r--clang/lib/Driver/DriverOptions.cpp5
5 files changed, 11 insertions, 14 deletions
diff --git a/clang/include/clang/Driver/CC1Options.h b/clang/include/clang/Driver/CC1Options.h
index 057022ce38c..4a8bbe5feb7 100644
--- a/clang/include/clang/Driver/CC1Options.h
+++ b/clang/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/clang/include/clang/Driver/OptParser.td b/clang/include/clang/Driver/OptParser.td
index 3df315a0db8..f5b6980d8f6 100644
--- a/clang/include/clang/Driver/OptParser.td
+++ b/clang/include/clang/Driver/OptParser.td
@@ -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>;
diff --git a/clang/include/clang/Driver/Options.h b/clang/include/clang/Driver/Options.h
index b05d5afd757..ac312cdfd4d 100644
--- a/clang/include/clang/Driver/Options.h
+++ b/clang/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/clang/lib/Driver/CC1Options.cpp b/clang/lib/Driver/CC1Options.cpp
index 672fe0401e4..0398dd57fb0 100644
--- a/clang/lib/Driver/CC1Options.cpp
+++ b/clang/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
- { "<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, \
diff --git a/clang/lib/Driver/DriverOptions.cpp b/clang/lib/Driver/DriverOptions.cpp
index eddaee0546c..d1af95cd450 100644
--- a/clang/lib/Driver/DriverOptions.cpp
+++ b/clang/lib/Driver/DriverOptions.cpp
@@ -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, \
OpenPOWER on IntegriCloud