diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 2 | ||||
-rw-r--r-- | clang/test/CodeCompletion/lambdas.cpp | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index e6093141ab7..e6c0b68b8d5 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -4134,6 +4134,8 @@ static const FunctionProtoType *TryDeconstructFunctionLike(QualType T) { static void AddLambdaCompletion(ResultBuilder &Results, llvm::ArrayRef<QualType> Parameters, const LangOptions &LangOpts) { + if (!Results.includeCodePatterns()) + return; CodeCompletionBuilder Completion(Results.getAllocator(), Results.getCodeCompletionTUInfo()); // [](<parameters>) {} diff --git a/clang/test/CodeCompletion/lambdas.cpp b/clang/test/CodeCompletion/lambdas.cpp index 3467cec0e3b..1ab804ad818 100644 --- a/clang/test/CodeCompletion/lambdas.cpp +++ b/clang/test/CodeCompletion/lambdas.cpp @@ -51,3 +51,12 @@ void test4() { // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:50:35 %s -o - | FileCheck -check-prefix=CHECK-6 %s // CHECK-6-NOT: COMPLETION: Pattern : [<#= } + +void test5() { + // Completions are only added when -code-completion-patterns are enabled. + function<void()> b = {}; + // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:57:24 %s -o - | FileCheck -check-prefix=CHECK-7 %s + // CHECK-7: COMPLETION: Pattern : [<#= + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:57:24 %s -o - | FileCheck -check-prefix=CHECK-8 %s + // CHECK-8-NOT: COMPLETION: Pattern : [<#= +} |