summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/complete-exprs.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-02-17 03:09:23 +0000
committerDouglas Gregor <dgregor@apple.com>2011-02-17 03:09:23 +0000
commit9c1f1bfedc2fd8ba1d859746bd7fef47498784c9 (patch)
treeaf76b78c6641688e5b3ab9f7cb294f9f91978901 /clang/test/Index/complete-exprs.cpp
parent956fc1cb81d820253b819e92fc752ff979f84e40 (diff)
downloadbcm5719-llvm-9c1f1bfedc2fd8ba1d859746bd7fef47498784c9.tar.gz
bcm5719-llvm-9c1f1bfedc2fd8ba1d859746bd7fef47498784c9.zip
When Parser::ParseExpressionList isn't given a completer, fall back to
normal "expression" completion. Fixes the most annoying code-completion bug I've found. llvm-svn: 125715
Diffstat (limited to 'clang/test/Index/complete-exprs.cpp')
-rw-r--r--clang/test/Index/complete-exprs.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Index/complete-exprs.cpp b/clang/test/Index/complete-exprs.cpp
index b514c06bff4..016254e763d 100644
--- a/clang/test/Index/complete-exprs.cpp
+++ b/clang/test/Index/complete-exprs.cpp
@@ -20,6 +20,12 @@ void f() {
}
+int foo();
+
+void g() {
+ vector<int>(foo(), foo());
+}
+
// RUN: c-index-test -code-completion-at=%s:20:2 %s | FileCheck -check-prefix=CHECK-CC1 %s
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:20:2 %s | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: NotImplemented:{TypedText operator} (40)
@@ -37,3 +43,11 @@ void f() {
// CHECK-CC2: ClassDecl:{TypedText string} (50)
// CHECK-CC2-NOT: CXXConstructor
// CHECK-CC2: ClassTemplate:{TypedText vector}{LeftAngle <}{Placeholder typename T}{RightAngle >} (50)
+
+// RUN: c-index-test -code-completion-at=%s:26:15 %s | FileCheck -check-prefix=CHECK-CC3 %s
+// CHECK-CC3: NotImplemented:{TypedText float} (50)
+// CHECK-CC3: FunctionDecl:{ResultType int}{TypedText foo}{LeftParen (}{RightParen )} (50)
+// CHECK-CC3: FunctionDecl:{ResultType void}{TypedText g}{LeftParen (}{RightParen )} (50)
+// CHECK-CC3: ClassTemplate:{TypedText vector}{LeftAngle <}{Placeholder typename T}{RightAngle >} (50)
+// CHECK-CC3: CXXConstructor:{TypedText vector}{LeftAngle <}{Placeholder typename T}{RightAngle >}{LeftParen (}{Placeholder T const &}{Comma , }{Placeholder unsigned int n}{RightParen )} (50)
+// CHECK-CC3: FunctionTemplate:{ResultType void}{TypedText vector}{LeftAngle <}{Placeholder typename T}{RightAngle >}{LeftParen (}{Placeholder InputIterator first}{Comma , }{Placeholder InputIterator last}{RightParen )} (50)
OpenPOWER on IntegriCloud