annotate clang/test/Index/load-exprs.c @ 206:f17a3b42b08b

Added tag before-12 for changeset b7591485f4cd
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 07 Jun 2021 21:25:57 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 typedef int T;
anatofuz
parents:
diff changeset
2 struct X { int a, b; };
anatofuz
parents:
diff changeset
3 void f(void *ptr) {
anatofuz
parents:
diff changeset
4 T* t_ptr = (T *)ptr;
anatofuz
parents:
diff changeset
5 (void)sizeof(T);
anatofuz
parents:
diff changeset
6 struct X x = (struct X){1, 2};
anatofuz
parents:
diff changeset
7 void *xx = ptr ? : &x;
anatofuz
parents:
diff changeset
8 }
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 int test_blocks(int x) {
anatofuz
parents:
diff changeset
11 __block int y = x;
anatofuz
parents:
diff changeset
12 ^{
anatofuz
parents:
diff changeset
13 static int z = 0;
anatofuz
parents:
diff changeset
14 y = (++z) + x;
anatofuz
parents:
diff changeset
15 ^{
anatofuz
parents:
diff changeset
16 ++z;
anatofuz
parents:
diff changeset
17 ++y;
anatofuz
parents:
diff changeset
18 }();
anatofuz
parents:
diff changeset
19 }();
anatofuz
parents:
diff changeset
20 return y;
anatofuz
parents:
diff changeset
21 }
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 struct Y {
anatofuz
parents:
diff changeset
24 struct X array[3];
anatofuz
parents:
diff changeset
25 };
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 enum { StartIndex = 1 };
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 void test_members(int aval, int bval) {
anatofuz
parents:
diff changeset
30 struct Y y0 = { .array[StartIndex].b = bval, .array[StartIndex].a = aval };
anatofuz
parents:
diff changeset
31 __builtin_offsetof(struct Y, array[StartIndex].b);
anatofuz
parents:
diff changeset
32 }
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 // RUN: c-index-test -test-load-source all %s -fblocks | FileCheck %s
anatofuz
parents:
diff changeset
35 // CHECK: macro definition=__clang__
anatofuz
parents:
diff changeset
36 // CHECK: load-exprs.c:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:1 - 1:14]
anatofuz
parents:
diff changeset
37 // CHECK: load-exprs.c:2:8: StructDecl=X:2:8 (Definition) Extent=[2:1 - 2:23]
anatofuz
parents:
diff changeset
38 // CHECK: load-exprs.c:2:16: FieldDecl=a:2:16 (Definition) Extent=[2:12 - 2:17]
anatofuz
parents:
diff changeset
39 // CHECK: load-exprs.c:2:19: FieldDecl=b:2:19 (Definition) Extent=[2:12 - 2:20]
anatofuz
parents:
diff changeset
40 // CHECK: load-exprs.c:3:6: FunctionDecl=f:3:6 (Definition) Extent=[3:1 - 8:2]
anatofuz
parents:
diff changeset
41 // CHECK: load-exprs.c:3:14: ParmDecl=ptr:3:14 (Definition) Extent=[3:8 - 3:17]
anatofuz
parents:
diff changeset
42 // CHECK: load-exprs.c:4:6: VarDecl=t_ptr:4:6 (Definition) Extent=[4:3 - 4:22]
anatofuz
parents:
diff changeset
43 // CHECK: load-exprs.c:4:3: TypeRef=T:1:13 Extent=[4:3 - 4:4]
anatofuz
parents:
diff changeset
44 // CHECK: load-exprs.c:4:15: TypeRef=T:1:13 Extent=[4:15 - 4:16]
anatofuz
parents:
diff changeset
45 // CHECK: load-exprs.c:4:19: DeclRefExpr=ptr:3:14 Extent=[4:19 - 4:22]
anatofuz
parents:
diff changeset
46 // CHECK: load-exprs.c:5:16: TypeRef=T:1:13 Extent=[5:16 - 5:17]
anatofuz
parents:
diff changeset
47 // CHECK: load-exprs.c:6:12: VarDecl=x:6:12 (Definition) Extent=[6:3 - 6:32]
anatofuz
parents:
diff changeset
48 // CHECK: load-exprs.c:6:10: TypeRef=struct X:2:8 Extent=[6:10 - 6:11]
anatofuz
parents:
diff changeset
49 // CHECK: load-exprs.c:6:24: TypeRef=struct X:2:8 Extent=[6:24 - 6:25]
anatofuz
parents:
diff changeset
50 // CHECK: load-exprs.c:7:9: VarDecl=xx:7:9 (Definition) Extent=[7:3 - 7:24]
anatofuz
parents:
diff changeset
51 // CHECK: load-exprs.c:7:14: DeclRefExpr=ptr:3:14 Extent=[7:14 - 7:17]
anatofuz
parents:
diff changeset
52 // CHECK: load-exprs.c:7:23: DeclRefExpr=x:6:12 Extent=[7:23 - 7:24]
anatofuz
parents:
diff changeset
53 // CHECK: load-exprs.c:10:5: FunctionDecl=test_blocks:10:5 (Definition) Extent=[10:1 - 21:2]
anatofuz
parents:
diff changeset
54 // CHECK: load-exprs.c:10:21: ParmDecl=x:10:21 (Definition) Extent=[10:17 - 10:22]
anatofuz
parents:
diff changeset
55 // CHECK: load-exprs.c:11:15: VarDecl=y:11:15 (Definition) Extent=[11:3 - 11:20]
anatofuz
parents:
diff changeset
56 // CHECK: load-exprs.c:11:19: DeclRefExpr=x:10:21 Extent=[11:19 - 11:20]
anatofuz
parents:
diff changeset
57 // CHECK: load-exprs.c:12:3: CallExpr= Extent=[12:3 - 19:7]
anatofuz
parents:
diff changeset
58 // CHECK: load-exprs.c:13:17: VarDecl=z:13:17 (Definition) Extent=[13:6 - 13:22]
anatofuz
parents:
diff changeset
59 // CHECK: load-exprs.c:14:6: DeclRefExpr=y:11:15 Extent=[14:6 - 14:7]
anatofuz
parents:
diff changeset
60 // CHECK: load-exprs.c:14:13: DeclRefExpr=z:13:17 Extent=[14:13 - 14:14]
anatofuz
parents:
diff changeset
61 // CHECK: load-exprs.c:14:18: DeclRefExpr=x:10:21 Extent=[14:18 - 14:19]
anatofuz
parents:
diff changeset
62 // CHECK: load-exprs.c:15:6: CallExpr= Extent=[15:6 - 18:9]
anatofuz
parents:
diff changeset
63 // CHECK: load-exprs.c:16:10: DeclRefExpr=z:13:17 Extent=[16:10 - 16:11]
anatofuz
parents:
diff changeset
64 // CHECK: load-exprs.c:17:10: DeclRefExpr=y:11:15 Extent=[17:10 - 17:11]
anatofuz
parents:
diff changeset
65 // CHECK: load-exprs.c:20:10: DeclRefExpr=y:11:15 Extent=[20:10 - 20:11]
anatofuz
parents:
diff changeset
66 // CHECK: load-exprs.c:29:6: FunctionDecl=test_members:29:6 (Definition)
anatofuz
parents:
diff changeset
67 // CHECK: load-exprs.c:30:12: VarDecl=y0:30:12 (Definition) Extent=[30:3 - 30:77]
anatofuz
parents:
diff changeset
68 // CHECK: load-exprs.c:30:10: TypeRef=struct Y:23:8 Extent=[30:10 - 30:11]
anatofuz
parents:
diff changeset
69 // CHECK: load-exprs.c:30:20: MemberRef=array:24:12 Extent=[30:20 - 30:25]
anatofuz
parents:
diff changeset
70 // CHECK: load-exprs.c:30:26: DeclRefExpr=StartIndex:27:8 Extent=[30:26 - 30:36]
anatofuz
parents:
diff changeset
71 // CHECK: load-exprs.c:30:38: MemberRef=b:2:19 Extent=[30:38 - 30:39]
anatofuz
parents:
diff changeset
72 // CHECK: load-exprs.c:30:42: DeclRefExpr=bval:29:33 Extent=[30:42 - 30:46]
anatofuz
parents:
diff changeset
73 // CHECK: load-exprs.c:30:49: MemberRef=array:24:12 Extent=[30:49 - 30:54]
anatofuz
parents:
diff changeset
74 // CHECK: load-exprs.c:30:55: DeclRefExpr=StartIndex:27:8 Extent=[30:55 - 30:65]
anatofuz
parents:
diff changeset
75 // CHECK: load-exprs.c:30:67: MemberRef=a:2:16 Extent=[30:67 - 30:68]
anatofuz
parents:
diff changeset
76 // CHECK: load-exprs.c:30:71: DeclRefExpr=aval:29:23 Extent=[30:71 - 30:75]
anatofuz
parents:
diff changeset
77 // CHECK: load-exprs.c:31:29: TypeRef=struct Y:23:8 Extent=[31:29 - 31:30]
anatofuz
parents:
diff changeset
78 // CHECK: load-exprs.c:31:32: MemberRef=array:24:12 Extent=[31:32 - 31:37]
anatofuz
parents:
diff changeset
79 // CHECK: load-exprs.c:31:38: DeclRefExpr=StartIndex:27:8 Extent=[31:38 - 31:48]
anatofuz
parents:
diff changeset
80 // CHECK: load-exprs.c:31:50: MemberRef=b:2:19 Extent=[31:50 - 31:51]
anatofuz
parents:
diff changeset
81