Browse Source

Switched from llvm::OwningPtr to std::unique_ptr since LLVM removed it.

pull/222/head
triton 11 years ago
parent
commit
2daffce14f
  1. 18
      src/CppParser/Parser.cpp
  2. 2
      src/CppParser/Parser.h

18
src/CppParser/Parser.cpp

@ -230,7 +230,7 @@ std::string Parser::GetDeclMangledName(clang::Decl* D, clang::TargetCXXABI ABI,
if (!CanMangle) return ""; if (!CanMangle) return "";
NamedDecl* ND = cast<NamedDecl>(D); NamedDecl* ND = cast<NamedDecl>(D);
llvm::OwningPtr<MangleContext> MC; std::unique_ptr<MangleContext> MC;
switch(ABI.getKind()) switch(ABI.getKind())
{ {
@ -2565,18 +2565,18 @@ ParserResult* Parser::ParseHeader(const std::string& File)
// Initialize enough Clang codegen machinery so we can get at ABI details. // Initialize enough Clang codegen machinery so we can get at ABI details.
llvm::LLVMContext Ctx; llvm::LLVMContext Ctx;
llvm::OwningPtr<llvm::Module> M(new llvm::Module("", Ctx)); std::unique_ptr<llvm::Module> M(new llvm::Module("", Ctx));
M->setTargetTriple(AST->getTargetInfo().getTriple().getTriple()); M->setTargetTriple(AST->getTargetInfo().getTriple().getTriple());
M->setDataLayout(AST->getTargetInfo().getTargetDescription()); M->setDataLayout(AST->getTargetInfo().getTargetDescription());
llvm::OwningPtr<llvm::DataLayout> TD(new llvm::DataLayout(AST->getTargetInfo() std::unique_ptr<llvm::DataLayout> TD(new llvm::DataLayout(AST->getTargetInfo()
.getTargetDescription())); .getTargetDescription()));
llvm::OwningPtr<clang::CodeGen::CodeGenModule> CGM( std::unique_ptr<clang::CodeGen::CodeGenModule> CGM(
new clang::CodeGen::CodeGenModule(C->getASTContext(), C->getCodeGenOpts(), new clang::CodeGen::CodeGenModule(C->getASTContext(), C->getCodeGenOpts(),
*M, *TD, C->getDiagnostics())); *M, *TD, C->getDiagnostics()));
llvm::OwningPtr<clang::CodeGen::CodeGenTypes> CGT( std::unique_ptr<clang::CodeGen::CodeGenTypes> CGT(
new clang::CodeGen::CodeGenTypes(*CGM.get())); new clang::CodeGen::CodeGenTypes(*CGM.get()));
CodeGenInfo = (clang::TargetCodeGenInfo*) &CGM->getTargetCodeGenInfo(); CodeGenInfo = (clang::TargetCodeGenInfo*) &CGM->getTargetCodeGenInfo();
@ -2753,18 +2753,18 @@ ParserTargetInfo* Parser::GetTargetInfo()
// Initialize enough Clang codegen machinery so we can get at ABI details. // Initialize enough Clang codegen machinery so we can get at ABI details.
llvm::LLVMContext Ctx; llvm::LLVMContext Ctx;
llvm::OwningPtr<llvm::Module> M(new llvm::Module("", Ctx)); std::unique_ptr<llvm::Module> M(new llvm::Module("", Ctx));
M->setTargetTriple(AST->getTargetInfo().getTriple().getTriple()); M->setTargetTriple(AST->getTargetInfo().getTriple().getTriple());
M->setDataLayout(AST->getTargetInfo().getTargetDescription()); M->setDataLayout(AST->getTargetInfo().getTargetDescription());
llvm::OwningPtr<llvm::DataLayout> TD(new llvm::DataLayout(AST->getTargetInfo() std::unique_ptr<llvm::DataLayout> TD(new llvm::DataLayout(AST->getTargetInfo()
.getTargetDescription())); .getTargetDescription()));
llvm::OwningPtr<clang::CodeGen::CodeGenModule> CGM( std::unique_ptr<clang::CodeGen::CodeGenModule> CGM(
new clang::CodeGen::CodeGenModule(C->getASTContext(), C->getCodeGenOpts(), new clang::CodeGen::CodeGenModule(C->getASTContext(), C->getCodeGenOpts(),
*M, *TD, C->getDiagnostics())); *M, *TD, C->getDiagnostics()));
llvm::OwningPtr<clang::CodeGen::CodeGenTypes> CGT( std::unique_ptr<clang::CodeGen::CodeGenTypes> CGT(
new clang::CodeGen::CodeGenTypes(*CGM.get())); new clang::CodeGen::CodeGenTypes(*CGM.get()));
CodeGenInfo = (clang::TargetCodeGenInfo*) &CGM->getTargetCodeGenInfo(); CodeGenInfo = (clang::TargetCodeGenInfo*) &CGM->getTargetCodeGenInfo();

2
src/CppParser/Parser.h

@ -121,7 +121,7 @@ protected:
int Index; int Index;
ASTContext* Lib; ASTContext* Lib;
ParserOptions* Opts; ParserOptions* Opts;
llvm::OwningPtr<clang::CompilerInstance> C; std::unique_ptr<clang::CompilerInstance> C;
clang::ASTContext* AST; clang::ASTContext* AST;
clang::TargetCXXABI::Kind TargetABI; clang::TargetCXXABI::Kind TargetABI;
clang::TargetCodeGenInfo* CodeGenInfo; clang::TargetCodeGenInfo* CodeGenInfo;

Loading…
Cancel
Save