summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-07-31 23:07:21 +0000
committerHans Wennborg <hans@hanshq.net>2013-07-31 23:07:21 +0000
commit438292860a49f6998dff4db0b9ff04bcc0d5ae33 (patch)
treef880bd2b7afaed18810658e63cd7d158e1f0e809
parent01ad048b70508bf21174cd25512b57f87b7c57a6 (diff)
Option parsing tables: pick up AliasArgs from the OPTION macro.
This depends on LLVM r187537. The SUPPORT_ALIASARGS macro will be removed once all option parsing clients have been updated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187538 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Driver/CC1AsOptions.h4
-rw-r--r--include/clang/Driver/Options.h4
-rw-r--r--lib/Driver/CC1AsOptions.cpp6
-rw-r--r--lib/Driver/DriverOptions.cpp6
4 files changed, 14 insertions, 6 deletions
diff --git a/include/clang/Driver/CC1AsOptions.h b/include/clang/Driver/CC1AsOptions.h
index 6d748488af..4dde89c465 100644
--- a/include/clang/Driver/CC1AsOptions.h
+++ b/include/clang/Driver/CC1AsOptions.h
@@ -22,10 +22,12 @@ namespace driver {
namespace cc1asoptions {
enum ID {
OPT_INVALID = 0, // This is not an option ID.
-#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR) OPT_##ID,
+#define SUPPORT_ALIASARGS // FIXME: Remove when LLVM is updated.
#include "clang/Driver/CC1AsOptions.inc"
LastOption
+#undef SUPPORT_ALIASARGS
#undef OPTION
};
}
diff --git a/include/clang/Driver/Options.h b/include/clang/Driver/Options.h
index 0af8d3fe9e..cb6a38fd70 100644
--- a/include/clang/Driver/Options.h
+++ b/include/clang/Driver/Options.h
@@ -35,10 +35,12 @@ enum ClangFlags {
enum ID {
OPT_INVALID = 0, // This is not an option ID.
-#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR) OPT_##ID,
+#define SUPPORT_ALIASARGS // FIXME: Remove when LLVM is updated.
#include "clang/Driver/Options.inc"
LastOption
+#undef SUPPORT_ALIASARGS
#undef OPTION
};
}
diff --git a/lib/Driver/CC1AsOptions.cpp b/lib/Driver/CC1AsOptions.cpp
index eb5776d506..7e4e718ebd 100644
--- a/lib/Driver/CC1AsOptions.cpp
+++ b/lib/Driver/CC1AsOptions.cpp
@@ -21,11 +21,13 @@ using namespace clang::driver::cc1asoptions;
#undef PREFIX
static const OptTable::Info CC1AsInfoTable[] = {
-#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR) \
{ PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
- FLAGS, OPT_##GROUP, OPT_##ALIAS },
+ FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS },
+#define SUPPORT_ALIASARGS // FIXME: Remove when LLVM is updated.
#include "clang/Driver/CC1AsOptions.inc"
+#undef SUPPORT_ALIASARGS
#undef OPTION
};
diff --git a/lib/Driver/DriverOptions.cpp b/lib/Driver/DriverOptions.cpp
index 95518ee48b..b5407bb50a 100644
--- a/lib/Driver/DriverOptions.cpp
+++ b/lib/Driver/DriverOptions.cpp
@@ -21,11 +21,13 @@ using namespace llvm::opt;
#undef PREFIX
static const OptTable::Info InfoTable[] = {
-#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR) \
{ PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
- FLAGS, OPT_##GROUP, OPT_##ALIAS },
+ FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS },
+#define SUPPORT_ALIASARGS // FIXME: Remove when LLVM is updated.
#include "clang/Driver/Options.inc"
+#undef SUPPORT_ALIASARGS
#undef OPTION
};