diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-02-17 03:09:23 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-02-17 03:09:23 +0000 |
commit | 9c1f1bfedc2fd8ba1d859746bd7fef47498784c9 (patch) | |
tree | af76b78c6641688e5b3ab9f7cb294f9f91978901 /clang/test/Index/complete-exprs.cpp | |
parent | 956fc1cb81d820253b819e92fc752ff979f84e40 (diff) | |
download | bcm5719-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.cpp | 14 |
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) |