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 3c01562..f50729f 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 f83e5ce..f5551e6 100644
--- a/include/clang/Driver/Options.h
+++ b/include/clang/Driver/Options.h
@@ -17,7 +17,7 @@
     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 3308bc5..db910e1 100644
--- a/lib/Driver/OptTable.cpp
+++ b/lib/Driver/OptTable.cpp
@@ -19,22 +19,23 @@
 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]);