Updates for LLVM merge to r171906 on 20130108.
Change-Id: I4cf3718041d8876d4a23a412b6b4fa4226ec3b50
diff --git a/llvm-rs-cc.cpp b/llvm-rs-cc.cpp
index 1e60c6e..cc77b7a 100644
--- a/llvm-rs-cc.cpp
+++ b/llvm-rs-cc.cpp
@@ -27,7 +27,7 @@
#include "clang/Driver/Option.h"
#include "clang/Driver/OptTable.h"
-#include "clang/Frontend/DiagnosticOptions.h"
+#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "clang/Frontend/Utils.h"
@@ -75,19 +75,31 @@
enum {
OPT_INVALID = 0, // This is not an option ID.
-#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+#define PREFIX(NAME, VALUE)
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
HELPTEXT, METAVAR) OPT_##ID,
#include "RSCCOptions.inc"
LastOption
#undef OPTION
+#undef PREFIX
};
-static const OptTable::Info RSCCInfoTable[] = {
-#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
- HELPTEXT, METAVAR) \
- { NAME, HELPTEXT, METAVAR, Option::KIND##Class, PARAM, FLAGS, \
- OPT_##GROUP, OPT_##ALIAS },
+#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE;
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR)
#include "RSCCOptions.inc"
+#undef OPTION
+#undef PREFIX
+
+static const OptTable::Info RSCCInfoTable[] = {
+#define PREFIX(NAME, VALUE)
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR) \
+ { PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
+ FLAGS, OPT_##GROUP, OPT_##ALIAS },
+#include "RSCCOptions.inc"
+#undef OPTION
+#undef PREFIX
};
class RSCCOptTable : public OptTable {
@@ -202,7 +214,7 @@
it != ie; ++it) {
const Arg *A = *it;
if (A->getOption().getKind() == Option::InputClass)
- Inputs.push_back(A->getValue(*Args));
+ Inputs.push_back(A->getValue());
}
Opts.mIncludePaths = Args->getAllArgValues(OPT_I);
@@ -403,7 +415,9 @@
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> DiagIDs(
new clang::DiagnosticIDs());
- clang::DiagnosticsEngine DiagEngine(DiagIDs, DiagClient, true);
+ llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions> DiagOpts(
+ new clang::DiagnosticOptions());
+ clang::DiagnosticsEngine DiagEngine(DiagIDs, &*DiagOpts, DiagClient, true);
slang::Slang::GlobalInitialization();