1*cddafd39SArgyrios Kyrtzidis enum { 2*cddafd39SArgyrios Kyrtzidis VALUE = 3 3*cddafd39SArgyrios Kyrtzidis }; 4*cddafd39SArgyrios Kyrtzidis 5*cddafd39SArgyrios Kyrtzidis extern int glob_x; 6*cddafd39SArgyrios Kyrtzidis f(int x)7*cddafd39SArgyrios Kyrtzidisint f(int x) { 8*cddafd39SArgyrios Kyrtzidis return x+glob_x+VALUE; 9*cddafd39SArgyrios Kyrtzidis } 10*cddafd39SArgyrios Kyrtzidis 11*cddafd39SArgyrios Kyrtzidis typedef struct { 12*cddafd39SArgyrios Kyrtzidis int x; 13*cddafd39SArgyrios Kyrtzidis int y; 14*cddafd39SArgyrios Kyrtzidis } Vector; 15*cddafd39SArgyrios Kyrtzidis vector_get_x(Vector v)16*cddafd39SArgyrios Kyrtzidisint vector_get_x(Vector v) { 17*cddafd39SArgyrios Kyrtzidis int x = v.x; 18*cddafd39SArgyrios Kyrtzidis return x; 19*cddafd39SArgyrios Kyrtzidis } 20*cddafd39SArgyrios Kyrtzidis 21*cddafd39SArgyrios Kyrtzidis int f(int); 22*cddafd39SArgyrios Kyrtzidis int f(int); 23*cddafd39SArgyrios Kyrtzidis 24*cddafd39SArgyrios Kyrtzidis // RUN: c-index-test \ 25*cddafd39SArgyrios Kyrtzidis 26*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:2:5 \ 27*cddafd39SArgyrios Kyrtzidis // CHECK: EnumConstantDecl=VALUE:2:3 (Definition) 28*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: EnumConstantDecl=VALUE:2:3 (Definition) =[2:3 - 2:8] 29*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: DeclRefExpr=VALUE:2:3 =[8:19 - 8:24] 30*cddafd39SArgyrios Kyrtzidis 31*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:8:15 \ 32*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: DeclRefExpr=glob_x:5:12 33*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: VarDecl=glob_x:5:12 =[5:12 - 5:18] 34*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: DeclRefExpr=glob_x:5:12 =[8:12 - 8:18] 35*cddafd39SArgyrios Kyrtzidis 36*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:8:10 \ 37*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: DeclRefExpr=x:7:11 38*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: ParmDecl=x:7:11 (Definition) =[7:11 - 7:12] 39*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: DeclRefExpr=x:7:11 =[8:10 - 8:11] 40*cddafd39SArgyrios Kyrtzidis 41*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:12:7 \ 42*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FieldDecl=x:12:7 (Definition) 43*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FieldDecl=x:12:7 (Definition) =[12:7 - 12:8] 44*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: MemberRefExpr=x:12:7 {{.*}} =[17:13 - 17:14] 45*cddafd39SArgyrios Kyrtzidis 46*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:16:21 \ 47*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: TypeRef=Vector:14:3 48*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: TypedefDecl=Vector:14:3 (Definition) =[14:3 - 14:9] 49*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: TypeRef=Vector:14:3 =[16:18 - 16:24] 50*cddafd39SArgyrios Kyrtzidis 51*cddafd39SArgyrios Kyrtzidis // RUN: -file-refs-at=%s:21:5 \ 52*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FunctionDecl=f:21:5 53*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FunctionDecl=f:7:5 (Definition) =[7:5 - 7:6] 54*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FunctionDecl=f:21:5 =[21:5 - 21:6] 55*cddafd39SArgyrios Kyrtzidis // CHECK-NEXT: FunctionDecl=f:22:5 =[22:5 - 22:6] 56*cddafd39SArgyrios Kyrtzidis 57*cddafd39SArgyrios Kyrtzidis // RUN: %s | FileCheck %s 58