1
2
3
4#line 9 "nested_structure_ptr-safe.c"
5struct Innermost {
6 int c ;
7};
8#line 9 "nested_structure_ptr-safe.c"
9struct Inner {
10 int b ;
11 struct Innermost *y ;
12};
13#line 9 "nested_structure_ptr-safe.c"
14struct Toplev {
15 int a ;
16 struct Inner *x ;
17};
18#line 71 "/usr/include/assert.h"
19extern __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const *__assertion ,
20 char const *__file ,
21 unsigned int __line ,
22 char const *__function ) ;
23#line 7 "nested_structure_ptr-safe.c"
24
25#line 19 "nested_structure_ptr-safe.c"
26int main(void)
27{ struct Innermost im ;
28 struct Inner inner ;
29 struct Toplev good ;
30 struct Toplev *ptr ;
31 struct Innermost *__cil_tmp5 ;
32 struct Inner *__cil_tmp6 ;
33 unsigned int __cil_tmp7 ;
34 struct Toplev *__cil_tmp8 ;
35 unsigned int __cil_tmp9 ;
36 unsigned int __cil_tmp10 ;
37 unsigned int __cil_tmp11 ;
38 struct Inner *__cil_tmp12 ;
39 unsigned int __cil_tmp13 ;
40 unsigned int __cil_tmp14 ;
41 struct Innermost *__cil_tmp15 ;
42 unsigned int __cil_tmp16 ;
43 unsigned int __cil_tmp17 ;
44 struct Inner *__cil_tmp18 ;
45 unsigned int __cil_tmp19 ;
46 unsigned int __cil_tmp20 ;
47 struct Innermost *__cil_tmp21 ;
48 int __cil_tmp22 ;
49
50 {
51#line 21
52 __cil_tmp5 = & im;
53#line 21
54 *((int *)__cil_tmp5) = 3;
55#line 22
56 __cil_tmp6 = & inner;
57#line 22
58 *((int *)__cil_tmp6) = 2;
59#line 22
60 __cil_tmp7 = (unsigned int )(& inner) + 4;
61#line 22
62 *((struct Innermost **)__cil_tmp7) = & im;
63#line 23
64 __cil_tmp8 = & good;
65#line 23
66 *((int *)__cil_tmp8) = 1;
67#line 23
68 __cil_tmp9 = (unsigned int )(& good) + 4;
69#line 23
70 *((struct Inner **)__cil_tmp9) = & inner;
71#line 24
72 ptr = & good;
73#line 25
74 __cil_tmp10 = (unsigned int )ptr;
75#line 25
76 __cil_tmp11 = __cil_tmp10 + 4;
77#line 25
78 __cil_tmp12 = *((struct Inner **)__cil_tmp11);
79#line 25
80 __cil_tmp13 = (unsigned int )__cil_tmp12;
81#line 25
82 __cil_tmp14 = __cil_tmp13 + 4;
83#line 25
84 __cil_tmp15 = *((struct Innermost **)__cil_tmp14);
85#line 25
86 *((int *)__cil_tmp15) = 4;
87 {
88#line 26
89 __cil_tmp16 = (unsigned int )ptr;
90#line 26
91 __cil_tmp17 = __cil_tmp16 + 4;
92#line 26
93 __cil_tmp18 = *((struct Inner **)__cil_tmp17);
94#line 26
95 __cil_tmp19 = (unsigned int )__cil_tmp18;
96#line 26
97 __cil_tmp20 = __cil_tmp19 + 4;
98#line 26
99 __cil_tmp21 = *((struct Innermost **)__cil_tmp20);
100#line 26
101 __cil_tmp22 = *((int *)__cil_tmp21);
102#line 26
103 if (__cil_tmp22 == 4) {
104
105 } else {
106 {
107#line 26
108
109 ERROR: goto ERROR;
110 }
111 }
112 }
113#line 27
114 return (0);
115}
116}