summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-01-06 17:47:10 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-01-06 17:47:10 +0000
commit81d08294384d968ebbc2d0584d1b987f1a8a01b3 (patch)
treef74908be6ffd56b83252c5430c5b855be2f10c1e /clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
parent3128d6b520c7c43dacd6efb60464ba5318e88feb (diff)
downloadbcm5719-llvm-81d08294384d968ebbc2d0584d1b987f1a8a01b3.tar.gz
bcm5719-llvm-81d08294384d968ebbc2d0584d1b987f1a8a01b3.zip
Revert "IntrusiveRefCntPtr -> std::shared_ptr for CompilerInvocationBase and CodeCompleteConsumer"
Caused a memory leak reported by asan. Reverting while I investigate. This reverts commit r291184. llvm-svn: 291249
Diffstat (limited to 'clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp b/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
index c6f3baa7e3b..5baa78904bf 100644
--- a/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
@@ -62,7 +62,8 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
return;
}
- auto Invocation = std::make_shared<CompilerInvocation>(CI.getInvocation());
+ IntrusiveRefCntPtr<CompilerInvocation> Invocation(
+ new CompilerInvocation(CI.getInvocation()));
FrontendOptions &FrontendOpts = Invocation->getFrontendOpts();
InputKind IK = IK_CXX; // FIXME
@@ -75,7 +76,7 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
// Modules are parsed by a separate CompilerInstance, so this code mimics that
// behavior for models
CompilerInstance Instance(CI.getPCHContainerOperations());
- Instance.setInvocation(std::move(Invocation));
+ Instance.setInvocation(&*Invocation);
Instance.createDiagnostics(
new ForwardingDiagnosticConsumer(CI.getDiagnosticClient()),
/*ShouldOwnClient=*/true);
OpenPOWER on IntegriCloud