diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp --- a/clang/lib/Frontend/CompilerInstance.cpp +++ b/clang/lib/Frontend/CompilerInstance.cpp @@ -710,15 +710,13 @@ void CompilerInstance::createCodeCompletionConsumer() { const ParsedSourceLocation &Loc = getFrontendOpts().CodeCompletionAt; if (!CompletionConsumer) { - setCodeCompletionConsumer( - createCodeCompletionConsumer(getPreprocessor(), - Loc.FileName, Loc.Line, Loc.Column, - getFrontendOpts().CodeCompleteOpts, - llvm::outs())); - if (!CompletionConsumer) - return; - } else if (EnableCodeCompletion(getPreprocessor(), Loc.FileName, - Loc.Line, Loc.Column)) { + setCodeCompletionConsumer(createCodeCompletionConsumer( + getPreprocessor(), Loc.FileName, Loc.Line, Loc.Column, + getFrontendOpts().CodeCompleteOpts, llvm::outs())); + return; + } else if (!CompletionConsumer && + EnableCodeCompletion(getPreprocessor(), Loc.FileName, Loc.Line, + Loc.Column)) { setCodeCompletionConsumer(nullptr); return; }