From: Hans Wennborg Date: Wed, 31 Jul 2013 23:07:21 +0000 (+0000) Subject: Option parsing tables: pick up AliasArgs from the OPTION macro. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=438292860a49f6998dff4db0b9ff04bcc0d5ae33;p=clang 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 --- 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 };