Index: src/tests/.expect/extension.txt
===================================================================
--- src/tests/.expect/extension.txt	(revision 4e06c1ebfdf762654ec91b9a78bae607f25fba19)
+++ src/tests/.expect/extension.txt	(revision e4d3cebea9b65b73a14d75ede42b6858dafb71f5)
@@ -20,32 +20,32 @@
 }
 static inline void ___constructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
-    ((void)((*___dst__P2sS_1).__a__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
 }
 static inline void ___constructor__F_P2sS2sS_autogen___1(struct S *___dst__P2sS_1, struct S ___src__2sS_1){
-    ((void)((*___dst__P2sS_1).__a__i_1=___src__2sS_1.__a__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1=___src__2sS_1.__b__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__c__i_1=___src__2sS_1.__c__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=___src__2sS_1.__a__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=___src__2sS_1.__b__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))=___src__2sS_1.__c__i_1) /* ?{} */);
 }
 static inline void ___destructor__F_P2sS_autogen___1(struct S *___dst__P2sS_1){
-    ((void)((*___dst__P2sS_1).__c__i_1) /* ^?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1) /* ^?{} */);
-    ((void)((*___dst__P2sS_1).__a__i_1) /* ^?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ^?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ^?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))) /* ^?{} */);
 }
 static inline void ___constructor__F_P2sSi_autogen___1(struct S *___dst__P2sS_1, int __a__i_1){
-    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
 }
 static inline void ___constructor__F_P2sSii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1){
-    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1=__b__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__c__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))) /* ?{} */);
 }
 static inline void ___constructor__F_P2sSiii_autogen___1(struct S *___dst__P2sS_1, int __a__i_1, int __b__i_1, int __c__i_1){
-    ((void)((*___dst__P2sS_1).__a__i_1=__a__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__b__i_1=__b__i_1) /* ?{} */);
-    ((void)((*___dst__P2sS_1).__c__i_1=__c__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__a__i_1)))=__a__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__b__i_1)))=__b__i_1) /* ?{} */);
+    ((void)((*((int *)(&(*___dst__P2sS_1).__c__i_1)))=__c__i_1) /* ?{} */);
 }
 __extension__ union U {
