1
2
3
4#line 8 "nested_structure-safe.c"
5struct Innermost {
6 int c ;
7};
8#line 8 "nested_structure-safe.c"
9struct Inner {
10 int b ;
11 struct Innermost *y ;
12};
13#line 8 "nested_structure-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 6 "nested_structure-safe.c"
24
25#line 18 "nested_structure-safe.c"
26int main(void)
27{ struct Innermost im ;
28 struct Inner inner ;
29 struct Toplev good ;
30 struct Innermost *__cil_tmp4 ;
31 struct Inner *__cil_tmp5 ;
32 unsigned int __cil_tmp6 ;
33 unsigned int __cil_tmp7 ;
34 unsigned int __cil_tmp8 ;
35 struct Innermost *__cil_tmp9 ;
36 unsigned int __cil_tmp10 ;
37 unsigned int __cil_tmp11 ;
38 struct Innermost *__cil_tmp12 ;
39 int __cil_tmp13 ;
40 struct Inner *good_x14 ;
41 int good_a15 ;
42
43 {
44#line 20
45 __cil_tmp4 = & im;
46#line 20
47 *((int *)__cil_tmp4) = 3;
48#line 21
49 __cil_tmp5 = & inner;
50#line 21
51 *((int *)__cil_tmp5) = 2;
52#line 21
53 __cil_tmp6 = (unsigned int )(& inner) + 4;
54#line 21
55 *((struct Innermost **)__cil_tmp6) = & im;
56#line 22
57 good_a15 = 1;
58#line 22
59 good_x14 = & inner;
60#line 23
61 __cil_tmp7 = (unsigned int )good_x14;
62#line 23
63 __cil_tmp8 = __cil_tmp7 + 4;
64#line 23
65 __cil_tmp9 = *((struct Innermost **)__cil_tmp8);
66#line 23
67 *((int *)__cil_tmp9) = 4;
68 {
69#line 24
70 __cil_tmp10 = (unsigned int )good_x14;
71#line 24
72 __cil_tmp11 = __cil_tmp10 + 4;
73#line 24
74 __cil_tmp12 = *((struct Innermost **)__cil_tmp11);
75#line 24
76 __cil_tmp13 = *((int *)__cil_tmp12);
77#line 24
78 if (__cil_tmp13 == 4) {
79
80 } else {
81 {
82#line 24
83
84 ERROR:assert(0); goto ERROR;
85 }
86 }
87 }
88#line 25
89 return (0);
90}
91}