diff options
Diffstat (limited to 'clang/lib/CodeGen/CodeGenAction.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenAction.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp index 3a091279574..280d7646be3 100644 --- a/clang/lib/CodeGen/CodeGenAction.cpp +++ b/clang/lib/CodeGen/CodeGenAction.cpp @@ -66,8 +66,8 @@ namespace clang { llvm::TimePassesIsEnabled = TimePasses; } - llvm::Module *takeModule() { return TheModule.take(); } - llvm::Module *takeLinkModule() { return LinkModule.take(); } + llvm::Module *takeModule() { return TheModule.release(); } + llvm::Module *takeLinkModule() { return LinkModule.release(); } virtual void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) { Gen->HandleCXXStaticMemberVarInstantiation(VD); @@ -125,7 +125,7 @@ namespace clang { if (!M) { // The module has been released by IR gen on failures, do not double // free. - TheModule.take(); + TheModule.release(); return; } @@ -435,9 +435,7 @@ void CodeGenAction::EndSourceFileAction() { TheModule.reset(BEConsumer->takeModule()); } -llvm::Module *CodeGenAction::takeModule() { - return TheModule.take(); -} +llvm::Module *CodeGenAction::takeModule() { return TheModule.release(); } llvm::LLVMContext *CodeGenAction::takeLLVMContext() { OwnsVMContext = false; @@ -497,12 +495,10 @@ ASTConsumer *CodeGenAction::CreateASTConsumer(CompilerInstance &CI, LinkModuleToUse = ModuleOrErr.get(); } - BEConsumer = - new BackendConsumer(BA, CI.getDiagnostics(), - CI.getCodeGenOpts(), CI.getTargetOpts(), - CI.getLangOpts(), - CI.getFrontendOpts().ShowTimers, InFile, - LinkModuleToUse, OS.take(), *VMContext); + BEConsumer = new BackendConsumer(BA, CI.getDiagnostics(), CI.getCodeGenOpts(), + CI.getTargetOpts(), CI.getLangOpts(), + CI.getFrontendOpts().ShowTimers, InFile, + LinkModuleToUse, OS.release(), *VMContext); return BEConsumer; } |