1 // Note: the run lines follow their respective tests, since line/column
2 // matter in this test.
3 
4 struct StructA { };
5 struct StructB { };
6 struct StructC { };
7 int ValueA;
8 int ValueB;
9 
10 void f() {
11 
12   int ValueA = 0;
13   int StructA = 0;
14   struct StructB { };
15 
16   struct StructA sa = { };
17 }
18 
19 // RUN: c-index-test -code-completion-at=%s:16:3 %s > %t
20 // RUN: FileCheck -check-prefix=CHECK-CC1 -input-file=%t %s
21 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:16:3 %s | FileCheck -check-prefix=CHECK-CC1 %s
22 // CHECK-CC1: VarDecl:{ResultType int}{TypedText StructA} (34)
23 // CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueA} (34)
24 // CHECK-CC1-NOT: VarDecl:{ResultType int}{TypedText ValueA} (50)
25 // CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueB} (50)
26 // RUN: c-index-test -code-completion-at=%s:16:10 %s > %t
27 // RUN: FileCheck -check-prefix=CHECK-CC2 -input-file=%t %s
28 // CHECK-CC2: StructDecl:{TypedText StructA} (50)
29 // CHECK-CC2-NOT: StructDecl:{TypedText StructB} (50)
30 // CHECK-CC2: StructDecl:{TypedText StructC} (50)
31 // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:16:10 %s > %t
32 // RUN: FileCheck -check-prefix=CHECK-CC2 -input-file=%t %s
33