From: Daniel Dunbar Date: Thu, 12 Mar 2009 01:46:53 +0000 (+0000) Subject: Driver: Reorder arguments in Options.def so option name is first. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e1495eced887466e235f6a034953adf5ee1e14e6;p=clang Driver: Reorder arguments in Options.def so option name is first. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66759 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.def b/include/clang/Driver/Options.def index 3c015622cd..f50729f42e 100644 --- a/include/clang/Driver/Options.def +++ b/include/clang/Driver/Options.def @@ -16,17 +16,17 @@ #error "Define OPTION prior to including this file!" #endif -// OPTION(ID, KIND, NAME, GROUP, ALIAS, FLAGS, PARAM) +// OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) -// The first value provided to the macro specifies the internal name -// of the option, and results in a clang::driver::options::XX enum +// The first value is the option name as a string. + +// The second value is the internal option id, which must be a valid +// C++ identifier, and results in a clang::driver::options::XX enum // value for XX. -// The second value is the option type, one of Group, Flag, Joined, +// The third value is the option type, one of Group, Flag, Joined, // Separate, CommaJoined, JoinedOrSeparate, JoinedAndSeparate. -// The third value is the option name. - // The fourth value is the internal name of the option group, or 0 if // the option is not part of a group. @@ -52,7 +52,7 @@ /// this is only used for specifying the number of arguments for /// Separate options. -OPTION(ArchOpt, Separate, "-arch", 0, 0, "", 0) -OPTION(PassExitCodesFlag, Flag, "-pass-exit-codes", 0, 0, "", 0) -OPTION(PrintFileNameOpt, Joined, "-print-file-name=", 0, 0, "", 0) -OPTION(WpOpt, CommaJoined, "-Wp,", 0, 0, "", 0) +OPTION("-arch", ArchOpt, Separate, 0, 0, "", 0) +OPTION("-pass-exit-codes", PassExitCodesFlag, Flag, 0, 0, "", 0) +OPTION("-print-file-name=", PrintFileNameOpt, Joined, 0, 0, "", 0) +OPTION("-Wp,", WpOpt, CommaJoined, 0, 0, "", 0) diff --git a/include/clang/Driver/Options.h b/include/clang/Driver/Options.h index f83e5ceace..f5551e644a 100644 --- a/include/clang/Driver/Options.h +++ b/include/clang/Driver/Options.h @@ -17,7 +17,7 @@ namespace options { NotOption = 0, // This is not an option ID. InputOpt, // Reserved ID for input option. UnknownOpt, // Reserved ID for unknown option. -#define OPTION(ID, KIND, NAME, GROUP, ALIAS, FLAGS, PARAM) ID, +#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) ID, #include "clang/Driver/Options.def" LastOption #undef OPTION diff --git a/lib/Driver/OptTable.cpp b/lib/Driver/OptTable.cpp index 3308bc51a9..db910e1a31 100644 --- a/lib/Driver/OptTable.cpp +++ b/lib/Driver/OptTable.cpp @@ -19,22 +19,23 @@ using namespace clang::driver; using namespace clang::driver::options; struct Info { - Option::OptionClass Kind; const char *Name; + const char *Flags; + + Option::OptionClass Kind; unsigned GroupID; unsigned AliasID; - const char *Flags; unsigned Param; }; static Info OptionInfos[] = { // The InputOption info - { Option::InputClass, "", 0, 0, "", 0 }, + { "", "", Option::InputClass, 0, 0, 0 }, // The UnknownOption info - { Option::UnknownClass, "", 0, 0, "", 0 }, + { "", "", Option::UnknownClass, 0, 0, 0 }, -#define OPTION(ID, KIND, NAME, GROUP, ALIAS, FLAGS, PARAM) \ - { Option::KIND##Class, NAME, GROUP, ALIAS, FLAGS, PARAM }, +#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) \ + { NAME, FLAGS, Option::KIND##Class, GROUP, ALIAS, PARAM }, #include "clang/Driver/Options.def" }; static const unsigned numOptions = sizeof(OptionInfos) / sizeof(OptionInfos[0]);