1 // Note: the run lines follow their respective tests, since line/column 2 // matter in this test. 3 4 template<class T> void (&foo(T))(T); 5 template<class T> void (*bar(T))(T); 6 7 int main() { 8 foo(42)(42); 9 bar(42)(42); 10 } 11 12 // RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC1 %s 13 // CHECK-CC1: OverloadCandidate:{Text void}{LeftParen (}{CurrentParameter int}{RightParen )} (1) 14 // CHECK-CC1: Completion contexts: 15 // CHECK-CC1-NEXT: Any type 16 // CHECK-CC1-NEXT: Any value 17 // CHECK-CC1-NEXT: Enum tag 18 // CHECK-CC1-NEXT: Union tag 19 // CHECK-CC1-NEXT: Struct tag 20 // CHECK-CC1-NEXT: Class name 21 // CHECK-CC1-NEXT: Nested name specifier 22 // CHECK-CC1-NEXT: Objective-C interface 23 24 // RUN: c-index-test -code-completion-at=%s:9:11 %s | FileCheck -check-prefix=CHECK-CC2 %s 25 // CHECK-CC2: OverloadCandidate:{Text void}{LeftParen (}{CurrentParameter int}{RightParen )} (1) 26 // CHECK-CC2: Completion contexts: 27 // CHECK-CC2-NEXT: Any type 28 // CHECK-CC2-NEXT: Any value 29 // CHECK-CC2-NEXT: Enum tag 30 // CHECK-CC2-NEXT: Union tag 31 // CHECK-CC2-NEXT: Struct tag 32 // CHECK-CC2-NEXT: Class name 33 // CHECK-CC2-NEXT: Nested name specifier 34 // CHECK-CC2-NEXT: Objective-C interface 35