]> granicus.if.org Git - clang/commitdiff
Driver: Reorder arguments in Options.def so option name is first.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 12 Mar 2009 01:46:53 +0000 (01:46 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 12 Mar 2009 01:46:53 +0000 (01:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66759 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/Options.def
include/clang/Driver/Options.h
lib/Driver/OptTable.cpp

index 3c015622cdae517c084c2a973c2aa20d6d08d052..f50729f42ebfe8f02197aa9011098803b3991d7a 100644 (file)
 #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)
index f83e5ceace1d07efad5de394866571cc9bfddfcf..f5551e644abf06f4568766c239084cf784d6d00e 100644 (file)
@@ -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
index 3308bc51a9015d3ca912a63fcfd77f65e0199e63..db910e1a31407aca445453f8a89512fa949845b7 100644 (file)
@@ -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, "<input>", 0, 0, "", 0 },
+  { "<input>", "", Option::InputClass, 0, 0, 0 },
   // The UnknownOption info
-  { Option::UnknownClass, "<unknown>", 0, 0, "", 0 },
+  { "<unknown>", "", 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]);