Home | History | Annotate | Download | only in Index
      1 // RUN: c-index-test -test-load-source local -fblocks %s | FileCheck %s
      2 
      3 typedef int int_t;
      4 struct foo { long x; };
      5 
      6 void test() {
      7   static struct foo _foo;
      8   __block i = 0;
      9   ^ int_t(struct foo *foo) { return (int_t) foo->x + i; }(&_foo);
     10 }
     11 
     12 // CHECK: blocks.c:6:6: FunctionDecl=test:6:6 (Definition) Extent=[6:1 - 10:2]
     13 // CHECK: blocks.c:6:13: CompoundStmt= Extent=[6:13 - 10:2]
     14 // CHECK: blocks.c:7:3: DeclStmt= Extent=[7:3 - 7:26]
     15 // CHECK: blocks.c:7:21: VarDecl=_foo:7:21 (Definition) Extent=[7:3 - 7:25]
     16 // CHECK: blocks.c:7:17: TypeRef=struct foo:4:8 Extent=[7:17 - 7:20]
     17 // CHECK: blocks.c:8:11: VarDecl=i:8:11 (Definition) Extent=[8:3 - 8:16]
     18 // CHECK: blocks.c:8:15: IntegerLiteral= Extent=[8:15 - 8:16]
     19 // CHECK: blocks.c:9:3: CallExpr= Extent=[9:3 - 9:65]
     20 // CHECK: blocks.c:9:3: BlockExpr= Extent=[9:3 - 9:58]
     21 // CHECK: blocks.c:9:5: TypeRef=int_t:3:13 Extent=[9:5 - 9:10]
     22 // CHECK: blocks.c:9:23: ParmDecl=foo:9:23 (Definition) Extent=[9:11 - 9:26]
     23 // CHECK: blocks.c:9:18: TypeRef=struct foo:4:8 Extent=[9:18 - 9:21]
     24 // CHECK: blocks.c:9:28: CompoundStmt= Extent=[9:28 - 9:58]
     25 // CHECK: blocks.c:9:30: ReturnStmt= Extent=[9:30 - 9:55]
     26 // CHECK: blocks.c:9:37: BinaryOperator= Extent=[9:37 - 9:55]
     27 // CHECK: blocks.c:9:37: CStyleCastExpr= Extent=[9:37 - 9:51]
     28 // CHECK: blocks.c:9:38: TypeRef=int_t:3:13 Extent=[9:38 - 9:43]
     29 // CHECK: blocks.c:9:50: MemberRefExpr=x:4:19 SingleRefName=[9:50 - 9:51] RefName=[9:50 - 9:51] Extent=[9:45 - 9:51]
     30 // CHECK: blocks.c:9:45: DeclRefExpr=foo:9:23 Extent=[9:45 - 9:48]
     31 // CHECK: blocks.c:9:54: DeclRefExpr=i:8:11 Extent=[9:54 - 9:55]
     32 // CHECK: blocks.c:9:59: UnaryOperator= Extent=[9:59 - 9:64]
     33 // CHECK: blocks.c:9:60: DeclRefExpr=_foo:7:21 Extent=[9:60 - 9:64]
     34 
     35