1c49f5b2fSDouglas Gregor // This test is line- and column-sensitive, so test commands are at the bottom.
2c49f5b2fSDouglas Gregor namespace N {
3c49f5b2fSDouglas Gregor   struct X {
4c49f5b2fSDouglas Gregor     int f(X);
5c49f5b2fSDouglas Gregor   };
6c49f5b2fSDouglas Gregor }
7c49f5b2fSDouglas Gregor 
8c49f5b2fSDouglas Gregor int g(int a);
9c49f5b2fSDouglas Gregor 
10c49f5b2fSDouglas Gregor struct Y { };
11c49f5b2fSDouglas Gregor 
12c49f5b2fSDouglas Gregor struct Z {
13c49f5b2fSDouglas Gregor   int member;
14c49f5b2fSDouglas Gregor   friend int N::X::f(N::X);
15c49f5b2fSDouglas Gregor };
16c49f5b2fSDouglas Gregor 
17c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
180ac41389SDouglas Gregor // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
19*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText const} (40)
2009c0eb15SDouglas Gregor // CHECK-CC1: Namespace:{TypedText N}{Text ::} (75)
21*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText operator} (40)
22*0787b322SDouglas Gregor // CHECK-CC1: NotImplemented:{TypedText volatile} (40)
23c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
240ac41389SDouglas Gregor // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
25*0787b322SDouglas Gregor // CHECK-CC2: NotImplemented:{TypedText const} (40)
2609c0eb15SDouglas Gregor // CHECK-CC2-NOT: Namespace:{TypedText N}{Text ::} (75)
27*0787b322SDouglas Gregor // CHECK-CC2-NOT: NotImplemented:{TypedText operator} (40)
28*0787b322SDouglas Gregor // CHECK-CC2: NotImplemented:{TypedText volatile} (40)
29c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
300ac41389SDouglas Gregor // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
31*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText const} (40)
3209c0eb15SDouglas Gregor // CHECK-CC3-NOT: Namespace:{TypedText N}{Text ::} (75)
33*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText operator} (40)
34*0787b322SDouglas Gregor // CHECK-CC3: NotImplemented:{TypedText volatile} (40)
35c49f5b2fSDouglas Gregor // RUN: c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
360ac41389SDouglas Gregor // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
37*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText const} (40)
3809c0eb15SDouglas Gregor // CHECK-CC4: Namespace:{TypedText N}{Text ::} (75)
39*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText operator} (40)
40*0787b322SDouglas Gregor // CHECK-CC4: NotImplemented:{TypedText volatile} (40)
410ac41389SDouglas Gregor // CHECK-CC4: StructDecl:{TypedText Y}{Text ::} (75)
420ac41389SDouglas Gregor // CHECK-CC4: StructDecl:{TypedText Z}{Text ::} (75)
43c49f5b2fSDouglas Gregor 
44