load-stmts.cpp revision 3512107be5bf54e8f8f33597e8e40e1d0a35cd65
1typedef 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
14// CHECK: load-stmts.cpp:3:6: UnexposedStmt= [Extent=4:3:5:3]
15// CHECK: load-stmts.cpp:3:6: UnexposedStmt= [Extent=4:8:4:15]
16// CHECK: load-stmts.cpp:4:10: VarDecl=y:4:10 (Definition) [Extent=4:8:4:14]
17// CHECK: load-stmts.cpp:4:8: TypeRef=T:1:13 [Extent=4:8:4:8]
18// CHECK: load-stmts.cpp:4:14: DeclRefExpr=x:3:12 [Extent=4:14:4:14]
19// CHECK: load-stmts.cpp:4:19: VarDecl=z:4:19 (Definition) [Extent=4:17:4:23]
20// CHECK: load-stmts.cpp:4:17: TypeRef=T:1:13 [Extent=4:17:4:17]
21// CHECK: load-stmts.cpp:4:23: DeclRefExpr=x:3:12 [Extent=4:23:4:23]
22// CHECK: load-stmts.cpp:4:19: UnexposedExpr=z:4:19 [Extent=4:19:4:19]
23// CHECK: load-stmts.cpp:4:19: DeclRefExpr=z:4:19 [Extent=4:19:4:19]
24// CHECK: load-stmts.cpp:4:26: UnexposedExpr= [Extent=4:26:4:28]
25// CHECK: load-stmts.cpp:4:28: DeclRefExpr=x:3:12 [Extent=4:28:4:28]
26// CHECK: load-stmts.cpp:4:19: UnexposedStmt= [Extent=4:31:5:3]
27// CHECK: load-stmts.cpp:4:19: UnexposedStmt= [Extent=6:3:6:21]
28// CHECK: load-stmts.cpp:6:10: VarDecl=z2:6:10 (Definition) [Extent=6:7:6:16]
29// CHECK: load-stmts.cpp:6:7: TypeRef=T:1:13 [Extent=6:7:6:7]
30// CHECK: load-stmts.cpp:6:15: UnexposedExpr= [Extent=6:15:6:16]
31// CHECK: load-stmts.cpp:6:16: DeclRefExpr=x:3:12 [Extent=6:16:6:16]
32// CHECK: load-stmts.cpp:6:10: UnexposedExpr=z2:6:10 [Extent=6:10:6:11]
33// CHECK: load-stmts.cpp:6:10: DeclRefExpr=z2:6:10 [Extent=6:10:6:11]
34// CHECK: load-stmts.cpp:6:10: UnexposedStmt= [Extent=6:19:6:21]
35// CHECK: load-stmts.cpp:6:10: UnexposedStmt= [Extent=7:3:7:24]
36// CHECK: load-stmts.cpp:7:13: VarDecl=z3:7:13 (Definition) [Extent=7:10:7:19]
37// CHECK: load-stmts.cpp:7:10: TypeRef=T:1:13 [Extent=7:10:7:10]
38// CHECK: load-stmts.cpp:7:18: UnexposedExpr= [Extent=7:18:7:19]
39// CHECK: load-stmts.cpp:7:19: DeclRefExpr=x:3:12 [Extent=7:19:7:19]
40// CHECK: load-stmts.cpp:7:13: UnexposedExpr=z3:7:13 [Extent=7:13:7:14]
41// CHECK: load-stmts.cpp:7:13: DeclRefExpr=z3:7:13 [Extent=7:13:7:14]
42// CHECK: load-stmts.cpp:7:13: UnexposedStmt= [Extent=7:22:7:24]
43// CHECK: load-stmts.cpp:7:13: UnexposedStmt= [Extent=8:3:10:3]
44// CHECK: load-stmts.cpp:8:13: VarDecl=z4:8:13 (Definition) [Extent=8:11:8:18]
45// CHECK: load-stmts.cpp:8:11: TypeRef=T:1:13 [Extent=8:11:8:11]
46// CHECK: load-stmts.cpp:8:18: DeclRefExpr=x:3:12 [Extent=8:18:8:18]
47// CHECK: load-stmts.cpp:8:13: DeclRefExpr=z4:8:13 [Extent=8:13:8:14]
48// CHECK: load-stmts.cpp:8:13: UnexposedStmt= [Extent=8:21:10:3]
49// CHECK: load-stmts.cpp:8:13: UnexposedStmt= [Extent=9:3:9:16]
50// CHECK: load-stmts.cpp:8:13: UnexposedStmt= [Extent=9:12:9:16]
51// CHECK: load-stmts.cpp:9:8: UnexposedExpr= [Extent=9:8:9:9]
52