summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/complete-pointer-and-reference-to-functions.cpp
diff options
context:
space:
mode:
authorFrancisco Lopes da Silva <oblita@gmail.com>2015-01-22 21:14:08 +0000
committerFrancisco Lopes da Silva <oblita@gmail.com>2015-01-22 21:14:08 +0000
commitc6ccc4fe91b8f1bc5251b454ac1f6c79a6177c8b (patch)
treee6ea12a7c80cecf14b9ca9ee6cee67c090c08f4c /clang/test/Index/complete-pointer-and-reference-to-functions.cpp
parent799ef37d0235ea6bab9123a7f996ed9a9701ab82 (diff)
downloadbcm5719-llvm-c6ccc4fe91b8f1bc5251b454ac1f6c79a6177c8b.tar.gz
bcm5719-llvm-c6ccc4fe91b8f1bc5251b454ac1f6c79a6177c8b.zip
Sema: code completion for pointer and reference to functions.
llvm-svn: 226865
Diffstat (limited to 'clang/test/Index/complete-pointer-and-reference-to-functions.cpp')
-rw-r--r--clang/test/Index/complete-pointer-and-reference-to-functions.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/test/Index/complete-pointer-and-reference-to-functions.cpp b/clang/test/Index/complete-pointer-and-reference-to-functions.cpp
new file mode 100644
index 00000000000..5d5904ca415
--- /dev/null
+++ b/clang/test/Index/complete-pointer-and-reference-to-functions.cpp
@@ -0,0 +1,34 @@
+// Note: the run lines follow their respective tests, since line/column
+// matter in this test.
+
+template<class T> void (&foo(T))(T);
+template<class T> void (*bar(T))(T);
+
+int main() {
+ foo(42)(42);
+ bar(42)(42);
+}
+
+// RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC1 %s
+// CHECK-CC1: OverloadCandidate:{Text void}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
+// CHECK-CC1: Completion contexts:
+// CHECK-CC1-NEXT: Any type
+// CHECK-CC1-NEXT: Any value
+// CHECK-CC1-NEXT: Enum tag
+// CHECK-CC1-NEXT: Union tag
+// CHECK-CC1-NEXT: Struct tag
+// CHECK-CC1-NEXT: Class name
+// CHECK-CC1-NEXT: Nested name specifier
+// CHECK-CC1-NEXT: Objective-C interface
+
+// RUN: c-index-test -code-completion-at=%s:9:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
+// CHECK-CC2: OverloadCandidate:{Text void}{LeftParen (}{CurrentParameter int}{RightParen )} (1)
+// CHECK-CC2: Completion contexts:
+// CHECK-CC2-NEXT: Any type
+// CHECK-CC2-NEXT: Any value
+// CHECK-CC2-NEXT: Enum tag
+// CHECK-CC2-NEXT: Union tag
+// CHECK-CC2-NEXT: Struct tag
+// CHECK-CC2-NEXT: Class name
+// CHECK-CC2-NEXT: Nested name specifier
+// CHECK-CC2-NEXT: Objective-C interface
OpenPOWER on IntegriCloud