diff options
author | David Blaikie <dblaikie@gmail.com> | 2017-01-06 17:47:10 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2017-01-06 17:47:10 +0000 |
commit | 81d08294384d968ebbc2d0584d1b987f1a8a01b3 (patch) | |
tree | f74908be6ffd56b83252c5430c5b855be2f10c1e /clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp | |
parent | 3128d6b520c7c43dacd6efb60464ba5318e88feb (diff) | |
download | bcm5719-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.cpp | 5 |
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); |