Apply changes to migrate to LLVM Mar 6th 2011.
- API for name mangling. (Changing from non-public APIs to the
public one)
- API changes for clang::Diagnostic::getNumErrors ->
clang::Diagnostic::hasErrorOccurred
- API changes for clang::CharUnits and Quantity type.
- API changes libLLVMSystem -> libLLVMSupport.
- Change clang::Token::eom -> clang::Token::eod.
- Remove SourceRange parameter for DeclRefExpr::Create and
MemberExpr::Create.
- Add const qualifier for several unsafe type cast.
diff --git a/slang_rs_context.h b/slang_rs_context.h
index 251790c..91b1aa1 100644
--- a/slang_rs_context.h
+++ b/slang_rs_context.h
@@ -23,8 +23,9 @@
#include <string>
#include "clang/Lex/Preprocessor.h"
-#include "Mangle.h"
+#include "clang/AST/Mangle.h"
+#include "llvm/ADT/OwningPtr.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/StringMap.h"
@@ -79,7 +80,7 @@
std::string mReflectJavaPathName;
int version;
- clang::CodeGen::MangleContext &mMangleCtx;
+ llvm::OwningPtr<clang::MangleContext> mMangleCtx;
bool processExportVar(const clang::VarDecl *VD);
bool processExportFunc(const clang::FunctionDecl *FD);
@@ -98,8 +99,8 @@
inline clang::Preprocessor &getPreprocessor() const { return mPP; }
inline clang::ASTContext &getASTContext() const { return mCtx; }
- inline clang::CodeGen::MangleContext &getMangleContext() const {
- return mMangleCtx;
+ inline clang::MangleContext &getMangleContext() const {
+ return *mMangleCtx;
}
inline const llvm::TargetData *getTargetData() const { return mTargetData; }
inline llvm::LLVMContext &getLLVMContext() const { return mLLVMContext; }