blob: 5a0f43117b33263c88cdebfd1ec53b6ef137f30b [file] [log] [blame]
Douglas Gregor7201f9f2010-01-25 16:12:32 +00001typedef int T;
2struct X { int a, b; };
3void f(int x) {
4 for (T y = x; T z = x; ++x) {
5 }
6 if (T *z2 = &x) { }
7 while (T *z3 = &x) { }
8 switch (T z4 = x) {
9 case 17: break;
10 }
11}
12
13// RUN: c-index-test -test-load-source all %s | FileCheck %s
Ted Kremenek8278a322010-05-12 06:16:13 +000014// CHECK: <invalid loc>:0:0: TypedefDecl=__int128_t:0:0 (Definition)
15// CHECK: <invalid loc>:0:0: TypedefDecl=__uint128_t:0:0 (Definition)
16// CHECK: <invalid loc>:91:16: StructDecl=__va_list_tag:91:16 (Definition)
17// CHECK: <invalid loc>:91:42: FieldDecl=gp_offset:91:42 (Definition)
18// CHECK: <invalid loc>:91:63: FieldDecl=fp_offset:91:63 (Definition)
19// CHECK: <invalid loc>:91:81: FieldDecl=overflow_arg_area:91:81 (Definition)
20// CHECK: <invalid loc>:91:107: FieldDecl=reg_save_area:91:107 (Definition)
21// CHECK: <invalid loc>:91:123: TypedefDecl=__va_list_tag:91:123 (Definition)
22// CHECK: <invalid loc>:91:159: TypedefDecl=__builtin_va_list:91:159 (Definition)
23// CHECK: <invalid loc>:91:145: TypeRef=__va_list_tag:91:123
24// CHECK: <invalid loc>:91:177: UnexposedExpr=
25// CHECK: load-stmts.cpp:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:13 - 1:14]
26// CHECK: load-stmts.cpp:2:8: StructDecl=X:2:8 (Definition) Extent=[2:1 - 2:23]
27// CHECK: load-stmts.cpp:2:16: FieldDecl=a:2:16 (Definition) Extent=[2:16 - 2:17]
28// CHECK: load-stmts.cpp:2:19: FieldDecl=b:2:19 (Definition) Extent=[2:19 - 2:20]
29// CHECK: load-stmts.cpp:3:6: FunctionDecl=f:3:6 (Definition) Extent=[3:6 - 11:2]
30// CHECK: load-stmts.cpp:3:12: ParmDecl=x:3:12 (Definition) Extent=[3:8 - 3:13]
31// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[3:15 - 11:2]
32// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:3 - 5:4]
33// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:8 - 4:16]
Daniel Dunbar6092d502010-02-14 08:32:51 +000034// CHECK: load-stmts.cpp:4:10: VarDecl=y:4:10 (Definition) Extent=[4:8 - 4:15]
35// CHECK: load-stmts.cpp:4:8: TypeRef=T:1:13 Extent=[4:8 - 4:9]
36// CHECK: load-stmts.cpp:4:14: DeclRefExpr=x:3:12 Extent=[4:14 - 4:15]
37// CHECK: load-stmts.cpp:4:19: VarDecl=z:4:19 (Definition) Extent=[4:17 - 4:24]
38// CHECK: load-stmts.cpp:4:17: TypeRef=T:1:13 Extent=[4:17 - 4:18]
39// CHECK: load-stmts.cpp:4:23: DeclRefExpr=x:3:12 Extent=[4:23 - 4:24]
40// CHECK: load-stmts.cpp:4:19: UnexposedExpr=z:4:19 Extent=[4:19 - 4:20]
41// CHECK: load-stmts.cpp:4:19: DeclRefExpr=z:4:19 Extent=[4:19 - 4:20]
42// CHECK: load-stmts.cpp:4:26: UnexposedExpr= Extent=[4:26 - 4:29]
43// CHECK: load-stmts.cpp:4:28: DeclRefExpr=x:3:12 Extent=[4:28 - 4:29]
Ted Kremenek8278a322010-05-12 06:16:13 +000044// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:31 - 5:4]
45// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[6:3 - 6:22]
Daniel Dunbar6092d502010-02-14 08:32:51 +000046// CHECK: load-stmts.cpp:6:10: VarDecl=z2:6:10 (Definition) Extent=[6:7 - 6:17]
47// CHECK: load-stmts.cpp:6:7: TypeRef=T:1:13 Extent=[6:7 - 6:8]
48// CHECK: load-stmts.cpp:6:15: UnexposedExpr= Extent=[6:15 - 6:17]
49// CHECK: load-stmts.cpp:6:16: DeclRefExpr=x:3:12 Extent=[6:16 - 6:17]
50// CHECK: load-stmts.cpp:6:10: UnexposedExpr=z2:6:10 Extent=[6:10 - 6:12]
51// CHECK: load-stmts.cpp:6:10: DeclRefExpr=z2:6:10 Extent=[6:10 - 6:12]
Ted Kremenek8278a322010-05-12 06:16:13 +000052// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[6:19 - 6:22]
53// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[7:3 - 7:25]
Daniel Dunbar6092d502010-02-14 08:32:51 +000054// CHECK: load-stmts.cpp:7:13: VarDecl=z3:7:13 (Definition) Extent=[7:10 - 7:20]
55// CHECK: load-stmts.cpp:7:10: TypeRef=T:1:13 Extent=[7:10 - 7:11]
56// CHECK: load-stmts.cpp:7:18: UnexposedExpr= Extent=[7:18 - 7:20]
57// CHECK: load-stmts.cpp:7:19: DeclRefExpr=x:3:12 Extent=[7:19 - 7:20]
58// CHECK: load-stmts.cpp:7:13: UnexposedExpr=z3:7:13 Extent=[7:13 - 7:15]
59// CHECK: load-stmts.cpp:7:13: DeclRefExpr=z3:7:13 Extent=[7:13 - 7:15]
Ted Kremenek8278a322010-05-12 06:16:13 +000060// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[7:22 - 7:25]
61// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[8:3 - 10:4]
Daniel Dunbar6092d502010-02-14 08:32:51 +000062// CHECK: load-stmts.cpp:8:13: VarDecl=z4:8:13 (Definition) Extent=[8:11 - 8:19]
63// CHECK: load-stmts.cpp:8:11: TypeRef=T:1:13 Extent=[8:11 - 8:12]
64// CHECK: load-stmts.cpp:8:18: DeclRefExpr=x:3:12 Extent=[8:18 - 8:19]
65// CHECK: load-stmts.cpp:8:13: DeclRefExpr=z4:8:13 Extent=[8:13 - 8:15]
Ted Kremenek8278a322010-05-12 06:16:13 +000066// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[8:21 - 10:4]
67// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[9:3 - 9:17]
68// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[9:12 - 9:17]
Daniel Dunbar6092d502010-02-14 08:32:51 +000069// CHECK: load-stmts.cpp:9:8: UnexposedExpr= Extent=[9:8 - 9:10]
Ted Kremenek8278a322010-05-12 06:16:13 +000070