source: src/tests/.expect/extension.txt @ cad355a

aaron-thesisarm-ehcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since cad355a was cad355a, checked in by Rob Schluntz <rschlunt@…>, 7 years ago

generated field constructors for structs with const members no longer cause an error, other generated constructors and destructors construct and destruct const members

  • Property mode set to 100644
File size: 5.4 KB
Line 
1extern void abort(void);
2extern int atexit(void (*__func)(void));
3extern void exit(int __status);
4__extension__ int __a__i_1;
5__extension__ int __b__i_1;
6__extension__ int __c__i_1;
7__extension__ struct S {
8    __extension__ int __a__i_1;
9    __extension__ int __b__i_1;
10    __extension__ int __c__i_1;
11};
12static inline struct S ___operator_assign__F2sS_P2sS2sS_autogen___1(struct S *___dst__P2sS_1, struct S ___src__2sS_1){
13    ((void)((*___dst__P2sS_1).__a__i_1=___src__2sS_1.__a__i_1));
14    ((void)((*___dst__P2sS_1).__b__i_1=___src__2sS_1.__b__i_1));
15    ((void)((*___dst__P2sS_1).__c__i_1=___src__2sS_1.__c__i_1));
16    return ((struct S )___src__2sS_1);
17}
18static inline void ___constructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
19    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ?{} */);
20    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
21    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
22}
23static inline void ___constructor__F_P2sS2sS_autogen___1(struct S *___dst__P2sS_1, struct S ___src__2sS_1){
24    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=___src__2sS_1.__a__i_1) /* ?{} */);
25    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=___src__2sS_1.__b__i_1) /* ?{} */);
26    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))=___src__2sS_1.__c__i_1) /* ?{} */);
27}
28static inline void ___destructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
29    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ^?{} */);
30    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ^?{} */);
31    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ^?{} */);
32}
33static inline void ___constructor__F_P2sSi_autogen___1(struct S *___dst__P2sS_1, int __a__i_1){
34    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
35    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
36    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
37}
38static inline void ___constructor__F_P2sSii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1){
39    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
40    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
41    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
42}
43static inline void ___constructor__F_P2sSiii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1, int __c__i_1){
44    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
45    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
46    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))=__c__i_1) /* ?{} */);
47}
48__extension__ union U {
49    __extension__ int __a__i_1;
50    __extension__ int __b__i_1;
51    __extension__ int __c__i_1;
52};
53static inline union U ___operator_assign__F2uU_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){
54    void *_tmp_cp_ret0;
55    ((void)((_tmp_cp_ret0=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret0));
56    ((void)(_tmp_cp_ret0) /* ^?{} */);
57    return ((union U )___src__2uU_1);
58}
59static inline void ___constructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){
60}
61static inline void ___constructor__F_P2uU2uU_autogen___1(union U *___dst__P2uU_1, union U ___src__2uU_1){
62    void *_tmp_cp_ret1;
63    ((void)((_tmp_cp_ret1=__builtin_memcpy(((void *)___dst__P2uU_1), ((const void *)(&___src__2uU_1)), sizeof(union U ))) , _tmp_cp_ret1));
64    ((void)(_tmp_cp_ret1) /* ^?{} */);
65    return ((void)___src__2uU_1);
66}
67static inline void ___destructor__F_P2uU_autogen___1(union U *___dst__P2uU_1){
68}
69__extension__ enum E {
70    __R__C2eE_1,
71    __G__C2eE_1,
72    __B__C2eE_1,
73};
74__extension__ int __fred__Fi_i__1(int __p__i_1){
75    __extension__ struct S {
76        __extension__ int __a__i_2;
77        __extension__ int __b__i_2;
78        __extension__ int __c__i_2;
79    };
80    int __i__i_2;
81    ((void)((*((int *)(&__i__i_2)))=(__extension__ __a__i_1+__extension__ 3)) /* ?{} */);
82    ((void)__extension__ 3);
83    ((void)__extension__ __a__i_1);
84    __extension__ int __a__i_2;
85    __extension__ int __b__i_2;
86    __extension__ int __c__i_2;
87    ((void)(__extension__ __a__i_2=(__extension__ __b__i_2+__extension__ __c__i_2)));
88    int _tmp_cp_ret2;
89    ((void)((_tmp_cp_ret2=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret2));
90    ((void)(_tmp_cp_ret2) /* ^?{} */);
91    ((void)__extension__ sizeof(3));
92    ((void)__extension__ (((int )(3!=0)) || ((int )(4!=0))));
93    ((void)__extension__ __alignof__(__extension__ __a__i_2));
94    ((void)(((int )(__extension__ __a__i_2!=0)) || ((int )((((int )(__extension__ __b__i_2!=0)) && ((int )(__extension__ __c__i_2!=0)))!=0))));
95    ((void)(((int )((__extension__ __a__i_2>__extension__ __b__i_2)!=0)) ? __extension__ __c__i_2 : __extension__ __c__i_2));
96    ((void)(__extension__ __a__i_2=__extension__ (__extension__ __b__i_2+__extension__ __c__i_2)));
97    ((void)((__extension__ __a__i_2 , __extension__ __b__i_2) , __extension__ __c__i_2));
98}
99__attribute__ ((constructor(),)) static void _init_extension(void){
100    int _global_init0;
101    ((void)((*((int *)(&__a__i_1)))=_global_init0) /* ?{} */);
102    int _global_init1;
103    ((void)((*((int *)(&__b__i_1)))=_global_init1) /* ?{} */);
104    int _global_init2;
105    ((void)((*((int *)(&__c__i_1)))=_global_init2) /* ?{} */);
106}
107__attribute__ ((destructor(),)) static void _destroy_extension(void){
108    ((void)((*((int *)(&__c__i_1)))) /* ^?{} */);
109    ((void)((*((int *)(&__b__i_1)))) /* ^?{} */);
110    ((void)((*((int *)(&__a__i_1)))) /* ^?{} */);
111}
Note: See TracBrowser for help on using the repository browser.