Index: src/tests/.expect/gccExtensions.txt
===================================================================
--- src/tests/.expect/gccExtensions.txt	(revision 5479e63ba74f6aaf13306acbbd3bf070405dc4b8)
+++ src/tests/.expect/gccExtensions.txt	(revision ed9ecdae46ed621dd5cb3ccf29e72bcc6f53861d)
@@ -27,32 +27,32 @@
     }
     inline void ___constructor__F_P2sS_autogen___2(struct S *___dst__P2sS_2){
-        ((void)((*___dst__P2sS_2).__a__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__c__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P2sS2sS_autogen___2(struct S *___dst__P2sS_2, struct S ___src__2sS_2){
-        ((void)((*___dst__P2sS_2).__a__i_2=___src__2sS_2.__a__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2=___src__2sS_2.__b__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__c__i_2=___src__2sS_2.__c__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))=___src__2sS_2.__a__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))=___src__2sS_2.__b__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))=___src__2sS_2.__c__i_2) /* ?{} */);
     }
     inline void ___destructor__F_P2sS_autogen___2(struct S *___dst__P2sS_2){
-        ((void)((*___dst__P2sS_2).__c__i_2) /* ^?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2) /* ^?{} */);
-        ((void)((*___dst__P2sS_2).__a__i_2) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))) /* ^?{} */);
     }
     inline void ___constructor__F_P2sSi_autogen___2(struct S *___dst__P2sS_2, int __a__i_2){
-        ((void)((*___dst__P2sS_2).__a__i_2=__a__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__c__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))=__a__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P2sSii_autogen___2(struct S *___dst__P2sS_2, int __a__i_2, int __b__i_2){
-        ((void)((*___dst__P2sS_2).__a__i_2=__a__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2=__b__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__c__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))=__a__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))=__b__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P2sSiii_autogen___2(struct S *___dst__P2sS_2, int __a__i_2, int __b__i_2, int __c__i_2){
-        ((void)((*___dst__P2sS_2).__a__i_2=__a__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__b__i_2=__b__i_2) /* ?{} */);
-        ((void)((*___dst__P2sS_2).__c__i_2=__c__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__a__i_2)))=__a__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__b__i_2)))=__b__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P2sS_2).__c__i_2)))=__c__i_2) /* ?{} */);
     }
     int __i__i_2;
@@ -92,14 +92,14 @@
     }
     inline void ___constructor__F_P3ss2_autogen___2(struct s2 *___dst__P3ss2_2){
-        ((void)((*___dst__P3ss2_2).__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss2_2).__i__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P3ss23ss2_autogen___2(struct s2 *___dst__P3ss2_2, struct s2 ___src__3ss2_2){
-        ((void)((*___dst__P3ss2_2).__i__i_2=___src__3ss2_2.__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss2_2).__i__i_2)))=___src__3ss2_2.__i__i_2) /* ?{} */);
     }
     inline void ___destructor__F_P3ss2_autogen___2(struct s2 *___dst__P3ss2_2){
-        ((void)((*___dst__P3ss2_2).__i__i_2) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss2_2).__i__i_2)))) /* ^?{} */);
     }
     inline void ___constructor__F_P3ss2i_autogen___2(struct s2 *___dst__P3ss2_2, int __i__i_2){
-        ((void)((*___dst__P3ss2_2).__i__i_2=__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss2_2).__i__i_2)))=__i__i_2) /* ?{} */);
     }
     struct s3 {
@@ -111,14 +111,14 @@
     }
     inline void ___constructor__F_P3ss3_autogen___2(struct s3 *___dst__P3ss3_2){
-        ((void)((*___dst__P3ss3_2).__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss3_2).__i__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P3ss33ss3_autogen___2(struct s3 *___dst__P3ss3_2, struct s3 ___src__3ss3_2){
-        ((void)((*___dst__P3ss3_2).__i__i_2=___src__3ss3_2.__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss3_2).__i__i_2)))=___src__3ss3_2.__i__i_2) /* ?{} */);
     }
     inline void ___destructor__F_P3ss3_autogen___2(struct s3 *___dst__P3ss3_2){
-        ((void)((*___dst__P3ss3_2).__i__i_2) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss3_2).__i__i_2)))) /* ^?{} */);
     }
     inline void ___constructor__F_P3ss3i_autogen___2(struct s3 *___dst__P3ss3_2, int __i__i_2){
-        ((void)((*___dst__P3ss3_2).__i__i_2=__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss3_2).__i__i_2)))=__i__i_2) /* ?{} */);
     }
     struct s3 __x1__3ss3_2;
@@ -136,14 +136,14 @@
     }
     inline void ___constructor__F_P3ss4_autogen___2(struct s4 *___dst__P3ss4_2){
-        ((void)((*___dst__P3ss4_2).__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss4_2).__i__i_2)))) /* ?{} */);
     }
     inline void ___constructor__F_P3ss43ss4_autogen___2(struct s4 *___dst__P3ss4_2, struct s4 ___src__3ss4_2){
-        ((void)((*___dst__P3ss4_2).__i__i_2=___src__3ss4_2.__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss4_2).__i__i_2)))=___src__3ss4_2.__i__i_2) /* ?{} */);
     }
     inline void ___destructor__F_P3ss4_autogen___2(struct s4 *___dst__P3ss4_2){
-        ((void)((*___dst__P3ss4_2).__i__i_2) /* ^?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss4_2).__i__i_2)))) /* ^?{} */);
     }
     inline void ___constructor__F_P3ss4i_autogen___2(struct s4 *___dst__P3ss4_2, int __i__i_2){
-        ((void)((*___dst__P3ss4_2).__i__i_2=__i__i_2) /* ?{} */);
+        ((void)((*((int *)(&(*___dst__P3ss4_2).__i__i_2)))=__i__i_2) /* ?{} */);
     }
     struct s4 __x2__3ss4_2;
