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