1*67e74705SXin Li // This test is line- and column-sensitive. See below for run lines. 2*67e74705SXin Li 3*67e74705SXin Li int global; 4*67e74705SXin Li 5*67e74705SXin Li struct X { 6*67e74705SXin Li static int member; fX7*67e74705SXin Li void f(int zed) { 8*67e74705SXin Li int local; 9*67e74705SXin Li static int local_static; 10*67e74705SXin Li [=] { 11*67e74705SXin Li int inner_local; 12*67e74705SXin Li [local, this, inner_local] { 13*67e74705SXin Li } 14*67e74705SXin Li }(); 15*67e74705SXin Li } 16*67e74705SXin Li }; 17*67e74705SXin Li 18*67e74705SXin Li 19*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:8 -std=c++11 %s | FileCheck -check-prefix=CHECK-CC1 %s 20*67e74705SXin Li // CHECK-CC1: VarDecl:{ResultType int}{TypedText inner_local} (34) 21*67e74705SXin Li // CHECK-CC1-NEXT: VarDecl:{ResultType int}{TypedText local} (34) 22*67e74705SXin Li // CHECK-CC1-NEXT: NotImplemented:{ResultType X *}{TypedText this} (40) 23*67e74705SXin Li // CHECK-CC1-NEXT: ParmDecl:{ResultType int}{TypedText zed} (34) 24*67e74705SXin Li 25*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:15 -std=c++11 %s | FileCheck -check-prefix=CHECK-CC2 %s 26*67e74705SXin Li // CHECK-CC2: VarDecl:{ResultType int}{TypedText inner_local} (34) 27*67e74705SXin Li // CHECK-CC2-NEXT: NotImplemented:{ResultType X *}{TypedText this} (40) 28*67e74705SXin Li // CHECK-CC2-NEXT: ParmDecl:{ResultType int}{TypedText zed} (34) 29*67e74705SXin Li 30*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:21 -std=c++11 %s | FileCheck -check-prefix=CHECK-CC3 %s 31*67e74705SXin Li // CHECK-CC3: VarDecl:{ResultType int}{TypedText inner_local} (34) 32*67e74705SXin Li // CHECK-CC3-NEXT: ParmDecl:{ResultType int}{TypedText zed} (34) 33*67e74705SXin Li 34*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:8 -x objective-c++ -std=c++11 %s | FileCheck -check-prefix=CHECK-CC4 %s 35*67e74705SXin Li // CHECK-CC4: TypedefDecl:{TypedText Class} (50) 36*67e74705SXin Li // CHECK-CC4: TypedefDecl:{TypedText id} (50) 37*67e74705SXin Li // CHECK-CC4: VarDecl:{ResultType int}{TypedText inner_local} (34) 38*67e74705SXin Li // CHECK-CC4: VarDecl:{ResultType int}{TypedText local} (34) 39*67e74705SXin Li // CHECK-CC4: NotImplemented:{ResultType X *}{TypedText this} (40) 40*67e74705SXin Li // CHECK-CC4: ParmDecl:{ResultType int}{TypedText zed} (34) 41*67e74705SXin Li 42*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:15 -x objective-c++ -std=c++11 %s | FileCheck -check-prefix=CHECK-CC2 %s 43*67e74705SXin Li // RUN: c-index-test -code-completion-at=%s:12:21 -x objective-c++ -std=c++11 %s | FileCheck -check-prefix=CHECK-CC3 %s 44