diff options
author | Hans Wennborg <hans@hanshq.net> | 2013-07-31 23:07:21 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2013-07-31 23:07:21 +0000 |
commit | 438292860a49f6998dff4db0b9ff04bcc0d5ae33 (patch) | |
tree | f880bd2b7afaed18810658e63cd7d158e1f0e809 | |
parent | 01ad048b70508bf21174cd25512b57f87b7c57a6 (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.h | 4 | ||||
-rw-r--r-- | include/clang/Driver/Options.h | 4 | ||||
-rw-r--r-- | lib/Driver/CC1AsOptions.cpp | 6 | ||||
-rw-r--r-- | lib/Driver/DriverOptions.cpp | 6 |
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 }; |