blob: 1da20e64b849e5876d0823e162de18bc023d5c61 [file] [log] [blame]
Douglas Gregor5f808c22010-08-16 21:18:39 +00001// Note: the run lines follow their respective tests, since line/column
2// matter in this test.
3
4struct StructA { };
5struct StructB { };
6struct StructC { };
7int ValueA;
8int ValueB;
9
10void f() {
11
12 int ValueA = 0;
13 int StructA = 0;
14 struct StructB { };
15
16 struct StructA sa = { };
17}
18
Douglas Gregorb2ebdf92010-09-09 16:16:39 +000019// RUN: c-index-test -code-completion-at=%s:16:3 %s > %t
20// RUN: FileCheck -check-prefix=CHECK-CC1 -input-file=%t %s
Douglas Gregor5f808c22010-08-16 21:18:39 +000021// 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
Douglas Gregor8ec904c2010-10-19 00:03:23 +000022// CHECK-CC1: VarDecl:{ResultType int}{TypedText StructA} (34)
23// CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueA} (34)
Douglas Gregor5f808c22010-08-16 21:18:39 +000024// CHECK-CC1-NOT: VarDecl:{ResultType int}{TypedText ValueA} (50)
25// CHECK-CC1: VarDecl:{ResultType int}{TypedText ValueB} (50)
Douglas Gregorb2ebdf92010-09-09 16:16:39 +000026// RUN: c-index-test -code-completion-at=%s:16:10 %s > %t
27// RUN: FileCheck -check-prefix=CHECK-CC2 -input-file=%t %s
Douglas Gregor08f43cd2010-09-20 23:11:55 +000028// CHECK-CC2: StructDecl:{TypedText StructA} (50)
29// CHECK-CC2-NOT: StructDecl:{TypedText StructB} (50)
30// CHECK-CC2: StructDecl:{TypedText StructC} (50)
Douglas Gregorb2ebdf92010-09-09 16:16:39 +000031// 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