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