load-stmts.cpp revision 0f91f6a2eacf29fb69b1b0c3131eb0385aad5777
1263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregortypedef int T;
2263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregorstruct X { int a, b; };
3263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregorvoid f(int x) {
4263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  for (T y = x; T z = x; ++x) {
5263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  }
6263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  if (T *z2 = &x) { }
7263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  while (T *z3 = &x) { }
8263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  switch (T z4 = x) {
9263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  case 17: break;
10263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor  }
11263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor}
12263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor
13263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759Douglas Gregor// RUN: c-index-test -test-load-source all %s | FileCheck %s
149a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:13 - 1:14]
159a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:2:8: StructDecl=X:2:8 (Definition) Extent=[2:1 - 2:23]
169a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:2:16: FieldDecl=a:2:16 (Definition) Extent=[2:16 - 2:17]
179a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:2:19: FieldDecl=b:2:19 (Definition) Extent=[2:19 - 2:20]
189a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:3:6: FunctionDecl=f:3:6 (Definition) Extent=[3:6 - 11:2]
199a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: load-stmts.cpp:3:12: ParmDecl=x:3:12 (Definition) Extent=[3:8 - 3:13]
209a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[3:15 - 11:2]
219a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:3 - 5:4]
229a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:8 - 4:16]
238f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:10: VarDecl=y:4:10 (Definition) Extent=[4:8 - 4:15]
248f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:8: TypeRef=T:1:13 Extent=[4:8 - 4:9]
258f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:14: DeclRefExpr=x:3:12 Extent=[4:14 - 4:15]
268f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:19: VarDecl=z:4:19 (Definition) Extent=[4:17 - 4:24]
278f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:17: TypeRef=T:1:13 Extent=[4:17 - 4:18]
288f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:23: DeclRefExpr=x:3:12 Extent=[4:23 - 4:24]
298f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:19: UnexposedExpr=z:4:19 Extent=[4:19 - 4:20]
308f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:19: DeclRefExpr=z:4:19 Extent=[4:19 - 4:20]
318f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:26: UnexposedExpr= Extent=[4:26 - 4:29]
328f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:4:28: DeclRefExpr=x:3:12 Extent=[4:28 - 4:29]
339a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[4:31 - 5:4]
349a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[6:3 - 6:22]
358f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:10: VarDecl=z2:6:10 (Definition) Extent=[6:7 - 6:17]
368f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:7: TypeRef=T:1:13 Extent=[6:7 - 6:8]
378f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:15: UnexposedExpr= Extent=[6:15 - 6:17]
388f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:16: DeclRefExpr=x:3:12 Extent=[6:16 - 6:17]
398f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:10: UnexposedExpr=z2:6:10 Extent=[6:10 - 6:12]
408f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:6:10: DeclRefExpr=z2:6:10 Extent=[6:10 - 6:12]
419a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[6:19 - 6:22]
429a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[7:3 - 7:25]
438f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:13: VarDecl=z3:7:13 (Definition) Extent=[7:10 - 7:20]
448f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:10: TypeRef=T:1:13 Extent=[7:10 - 7:11]
458f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:18: UnexposedExpr= Extent=[7:18 - 7:20]
468f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:19: DeclRefExpr=x:3:12 Extent=[7:19 - 7:20]
478f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:13: UnexposedExpr=z3:7:13 Extent=[7:13 - 7:15]
488f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:7:13: DeclRefExpr=z3:7:13 Extent=[7:13 - 7:15]
499a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[7:22 - 7:25]
509a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[8:3 - 10:4]
518f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:8:13: VarDecl=z4:8:13 (Definition) Extent=[8:11 - 8:19]
528f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:8:11: TypeRef=T:1:13 Extent=[8:11 - 8:12]
538f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:8:18: DeclRefExpr=x:3:12 Extent=[8:18 - 8:19]
548f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:8:13: DeclRefExpr=z4:8:13 Extent=[8:13 - 8:15]
559a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[8:21 - 10:4]
569a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[9:3 - 9:17]
578f0bf81c0f3ab31881cc7db7914e6978bb2a19afDaniel Dunbar// CHECK: load-stmts.cpp:9:8: UnexposedExpr= Extent=[9:8 - 9:10]
580f91f6a2eacf29fb69b1b0c3131eb0385aad5777Ted Kremenek// CHECK: <invalid loc>:0:0: UnexposedStmt= Extent=[9:12 - 9:17]
599a700d277c38d9afaa7cb3fe93a714bfe9b62eecTed Kremenek
60