summaryrefslogtreecommitdiffstats
path: root/clang/tools/c-index-test/core_main.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-01-06 19:49:01 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-01-06 19:49:01 +0000
commitea4395ebcd37905487b7a978db2f460bc576a5d1 (patch)
tree92303c3c362a7eee408868cfa554f15683b0c02d /clang/tools/c-index-test/core_main.cpp
parent9cbcc5ff0b325ef2c0638e6c5c365b35a1e4f087 (diff)
downloadbcm5719-llvm-ea4395ebcd37905487b7a978db2f460bc576a5d1.tar.gz
bcm5719-llvm-ea4395ebcd37905487b7a978db2f460bc576a5d1.zip
Reapply "IntrusiveRefCntPtr -> std::shared_ptr for CompilerInvocationBase and CodeCompleteConsumer"
Aleksey Shlypanikov pointed out my mistake in migrating an explicit unique_ptr to auto - I was expecting the function returned a unique_ptr, but instead it returned a raw pointer - introducing a leak. Thanks Aleksey! This reapplies r291184, reverted in r291249. llvm-svn: 291270
Diffstat (limited to 'clang/tools/c-index-test/core_main.cpp')
-rw-r--r--clang/tools/c-index-test/core_main.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/tools/c-index-test/core_main.cpp b/clang/tools/c-index-test/core_main.cpp
index 3e4052c93ef..8976d913491 100644
--- a/clang/tools/c-index-test/core_main.cpp
+++ b/clang/tools/c-index-test/core_main.cpp
@@ -140,8 +140,7 @@ static bool printSourceSymbols(ArrayRef<const char *> Args) {
ArgsWithProgName.append(Args.begin(), Args.end());
IntrusiveRefCntPtr<DiagnosticsEngine>
Diags(CompilerInstance::createDiagnostics(new DiagnosticOptions));
- IntrusiveRefCntPtr<CompilerInvocation>
- CInvok(createInvocationFromCommandLine(ArgsWithProgName, Diags));
+ auto CInvok = createInvocationFromCommandLine(ArgsWithProgName, Diags);
if (!CInvok)
return true;
@@ -153,7 +152,7 @@ static bool printSourceSymbols(ArrayRef<const char *> Args) {
auto PCHContainerOps = std::make_shared<PCHContainerOperations>();
std::unique_ptr<ASTUnit> Unit(ASTUnit::LoadFromCompilerInvocationAction(
- CInvok.get(), PCHContainerOps, Diags, IndexAction.get()));
+ std::move(CInvok), PCHContainerOps, Diags, IndexAction.get()));
if (!Unit)
return true;
OpenPOWER on IntegriCloud