aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-06 20:19:47 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-06 20:19:47 +0000
commit2e4c7a5865739709a310d847da34096aa402d183 (patch)
tree57fd63424cbdd027098a1091da421aa838807459
parentfe0bdba44641c5d20e6b7c889545b087ff10179e (diff)
When code completion produces an overload set as its results (e.g.,
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
-rw-r--r--lib/Sema/SemaCodeComplete.cpp5
-rw-r--r--test/CodeCompletion/call.cpp1
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/Sema/SemaCodeComplete.cpp b/lib/Sema/SemaCodeComplete.cpp
index ced2e78c08..beed0ed2b6 100644
--- a/lib/Sema/SemaCodeComplete.cpp
+++ b/lib/Sema/SemaCodeComplete.cpp
@@ -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());
}
diff --git a/test/CodeCompletion/call.cpp b/test/CodeCompletion/call.cpp
index 04d2a2f0c9..1df958ed2c 100644
--- a/test/CodeCompletion/call.cpp
+++ b/test/CodeCompletion/call.cpp
@@ -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#>)