diff options
author | Logan <tzuhsiang.chien@gmail.com> | 2011-02-16 22:02:54 +0800 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2011-03-09 22:38:32 +0800 |
commit | be27482cdeaf08576bc39b72a15d35d13014a636 (patch) | |
tree | 799860734e7d610e3fbda6f38719fe4177f656fa /llvm-rs-cc.cpp | |
parent | 832429f6bf4592cfc2ce58f2462f1e8ecdbaaf52 (diff) | |
download | frameworks_compile_slang-be27482cdeaf08576bc39b72a15d35d13014a636.tar.gz frameworks_compile_slang-be27482cdeaf08576bc39b72a15d35d13014a636.tar.bz2 frameworks_compile_slang-be27482cdeaf08576bc39b72a15d35d13014a636.zip |
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.
Diffstat (limited to 'llvm-rs-cc.cpp')
-rw-r--r-- | llvm-rs-cc.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/llvm-rs-cc.cpp b/llvm-rs-cc.cpp index f0c24ca..4eadfea 100644 --- a/llvm-rs-cc.cpp +++ b/llvm-rs-cc.cpp @@ -31,12 +31,14 @@ #include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/IntrusiveRefCntPtr.h" +#include "llvm/ADT/OwningPtr.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/MemoryBuffer.h" - -#include "llvm/System/Path.h" +#include "llvm/Support/Path.h" +#include "llvm/Support/system_error.h" #include "slang.h" #include "slang_assert.h" @@ -336,14 +338,18 @@ int main(int argc, const char **argv) { clang::TextDiagnosticPrinter *DiagClient = new clang::TextDiagnosticPrinter(llvm::errs(), clang::DiagnosticOptions()); DiagClient->setPrefix(Argv0); - clang::Diagnostic Diags(DiagClient); + + llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> DiagIDs( + new clang::DiagnosticIDs()); + + clang::Diagnostic Diags(DiagIDs, DiagClient, true); slang::Slang::GlobalInitialization(); ParseArguments(ArgVector, Inputs, Opts, Diags); // Exits when there's any error occurred during parsing the arguments - if (Diags.getNumErrors() > 0) + if (Diags.hasErrorOccurred()) return 1; if (Opts.mShowHelp) { @@ -426,8 +432,9 @@ static void ExpandArgsFromBuf(const char *Arg, llvm::SmallVectorImpl<const char*> &ArgVector, std::set<std::string> &SavedStrings) { const char *FName = Arg + 1; - llvm::MemoryBuffer *MemBuf = llvm::MemoryBuffer::getFile(FName); - if (!MemBuf) { + llvm::OwningPtr<llvm::MemoryBuffer> MemBuf; + if (llvm::MemoryBuffer::getFile(FName, MemBuf)) { + // Unable to open the file ArgVector.push_back(SaveStringInSet(SavedStrings, Arg)); return; } @@ -477,7 +484,6 @@ static void ExpandArgsFromBuf(const char *Arg, } CurArg.push_back(*P); } - delete MemBuf; } // ExpandArgsFromBuf - |