]> granicus.if.org Git - clang/commitdiff
When code completion produces an overload set as its results (e.g.,
authorDouglas Gregor <dgregor@apple.com>
Tue, 6 Apr 2010 20:19:47 +0000 (20:19 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 6 Apr 2010 20:19:47 +0000 (20:19 +0000)
while we're completing in the middle of a function call), also produce
"ordinary" name results that show what can be typed at that point.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100558 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaCodeComplete.cpp
test/CodeCompletion/call.cpp

index ced2e78c087f29e23641d94d08ac01fe6712af1a..beed0ed2b6c1c6d47f5ec18003882cf6f4615557 100644 (file)
@@ -2260,9 +2260,8 @@ void Sema::CodeCompleteCall(Scope *S, ExprTy *FnIn,
     }
   }
 
-  if (Results.empty())
-    CodeCompleteOrdinaryName(S, CCC_Expression);
-  else
+  CodeCompleteOrdinaryName(S, CCC_Expression);
+  if (!Results.empty())
     CodeCompleter->ProcessOverloadCandidates(*this, NumArgs, Results.data(), 
                                              Results.size());
 }
index 04d2a2f0c9813ef9eaaa85167fd52cd09b497396..1df958ed2cc0b1922338389c79c4e90e47351f3c 100644 (file)
@@ -18,6 +18,7 @@ void f();
 void test() {
   f(Y(), 0, 0);
   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC1 %s
+  // CHECK-CC1: COMPLETION: Pattern : dynamic_cast<<#type-id#>>(<#expression#>)
   // CHECK-CC1: f(N::Y y, <#int ZZ#>)
   // CHECK-CC1-NEXT: f(int i, <#int j#>, int k)
   // CHECK-CC1-NEXT: f(float x, <#float y#>)