summaryrefslogtreecommitdiffstats
path: root/tools/c-index-test
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
commite781b71dd0fa9835aff199285aba0f83d47aed27 (patch)
tree746c15203e97a6e9bf75f556dea4fd5608c7fdcc /tools/c-index-test
parent8dc751fddfd5052e23e51170699fb2bf2d242550 (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291270 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/c-index-test')
-rw-r--r--tools/c-index-test/core_main.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/tools/c-index-test/core_main.cpp b/tools/c-index-test/core_main.cpp
index 3e4052c93e..8976d91349 100644
--- a/tools/c-index-test/core_main.cpp
+++ b/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;