Index: src/tests/.expect/attributes.x64.txt
===================================================================
--- src/tests/.expect/attributes.x64.txt	(revision 6382128c8e7c065248691cdee4f1a20c35f38525)
+++ src/tests/.expect/attributes.x64.txt	(revision c0cc5da47525166888123de76bf115dc575ebf21)
@@ -45,6 +45,38 @@
     __E2__C5eAgn3_1,
 };
-struct __attribute__ ((unused)) __anonymous2;
-struct __attribute__ ((unused)) __anonymous3;
+struct __attribute__ ((unused)) __anonymous2 {
+};
+static inline void ___constructor__F_13s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1);
+static inline void ___constructor__F_13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1);
+static inline void ___destructor__F_13s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1);
+static inline struct __anonymous2 ___operator_assign__F13s__anonymous2_13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1);
+static inline void ___constructor__F_13s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1){
+}
+static inline void ___constructor__F_13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){
+}
+static inline void ___destructor__F_13s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1){
+}
+static inline struct __anonymous2 ___operator_assign__F13s__anonymous2_13s__anonymous213s__anonymous2_autogen___1(struct __anonymous2 *___dst__13s__anonymous2_1, struct __anonymous2 ___src__13s__anonymous2_1){
+    struct __anonymous2 ___ret__13s__anonymous2_1;
+    ((void)___constructor__F_13s__anonymous213s__anonymous2_autogen___1((&___ret__13s__anonymous2_1), (*___dst__13s__anonymous2_1)));
+    return ___ret__13s__anonymous2_1;
+}
+struct __attribute__ ((unused)) Agn4 {
+};
+static inline void ___constructor__F_5sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1);
+static inline void ___constructor__F_5sAgn45sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1, struct Agn4 ___src__5sAgn4_1);
+static inline void ___destructor__F_5sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1);
+static inline struct Agn4 ___operator_assign__F5sAgn4_5sAgn45sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1, struct Agn4 ___src__5sAgn4_1);
+static inline void ___constructor__F_5sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1){
+}
+static inline void ___constructor__F_5sAgn45sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1, struct Agn4 ___src__5sAgn4_1){
+}
+static inline void ___destructor__F_5sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1){
+}
+static inline struct Agn4 ___operator_assign__F5sAgn4_5sAgn45sAgn4_autogen___1(struct Agn4 *___dst__5sAgn4_1, struct Agn4 ___src__5sAgn4_1){
+    struct Agn4 ___ret__5sAgn4_1;
+    ((void)___constructor__F_5sAgn45sAgn4_autogen___1((&___ret__5sAgn4_1), (*___dst__5sAgn4_1)));
+    return ___ret__5sAgn4_1;
+}
 struct Fdl {
     __attribute__ ((unused)) signed int __f1__i_1;
@@ -314,43 +346,43 @@
     ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[10]));
     ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
-    struct __attribute__ ((unused)) __anonymous4 {
+    struct __attribute__ ((unused)) __anonymous3 {
         signed int __i__i_2;
     };
-    inline void ___constructor__F_13s__anonymous4_autogen___2(struct __anonymous4 *___dst__13s__anonymous4_2){
-        ((void)((*___dst__13s__anonymous4_2).__i__i_2) /* ?{} */);
-    }
-    inline void ___constructor__F_13s__anonymous413s__anonymous4_autogen___2(struct __anonymous4 *___dst__13s__anonymous4_2, struct __anonymous4 ___src__13s__anonymous4_2){
-        ((void)((*___dst__13s__anonymous4_2).__i__i_2=___src__13s__anonymous4_2.__i__i_2) /* ?{} */);
-    }
-    inline void ___destructor__F_13s__anonymous4_autogen___2(struct __anonymous4 *___dst__13s__anonymous4_2){
-        ((void)((*___dst__13s__anonymous4_2).__i__i_2) /* ^?{} */);
-    }
-    inline struct __anonymous4 ___operator_assign__F13s__anonymous4_13s__anonymous413s__anonymous4_autogen___2(struct __anonymous4 *___dst__13s__anonymous4_2, struct __anonymous4 ___src__13s__anonymous4_2){
-        struct __anonymous4 ___ret__13s__anonymous4_2;
-        ((void)((*___dst__13s__anonymous4_2).__i__i_2=___src__13s__anonymous4_2.__i__i_2));
-        ((void)___constructor__F_13s__anonymous413s__anonymous4_autogen___2((&___ret__13s__anonymous4_2), (*___dst__13s__anonymous4_2)));
-        return ___ret__13s__anonymous4_2;
-    }
-    inline void ___constructor__F_13s__anonymous4i_autogen___2(struct __anonymous4 *___dst__13s__anonymous4_2, signed int __i__i_2){
-        ((void)((*___dst__13s__anonymous4_2).__i__i_2=__i__i_2) /* ?{} */);
-    }
-    ((void)sizeof(struct __anonymous4 ));
-    enum __attribute__ ((unused)) __anonymous5 {
-        __R__C13e__anonymous5_2,
+    inline void ___constructor__F_13s__anonymous3_autogen___2(struct __anonymous3 *___dst__13s__anonymous3_2){
+        ((void)((*___dst__13s__anonymous3_2).__i__i_2) /* ?{} */);
+    }
+    inline void ___constructor__F_13s__anonymous313s__anonymous3_autogen___2(struct __anonymous3 *___dst__13s__anonymous3_2, struct __anonymous3 ___src__13s__anonymous3_2){
+        ((void)((*___dst__13s__anonymous3_2).__i__i_2=___src__13s__anonymous3_2.__i__i_2) /* ?{} */);
+    }
+    inline void ___destructor__F_13s__anonymous3_autogen___2(struct __anonymous3 *___dst__13s__anonymous3_2){
+        ((void)((*___dst__13s__anonymous3_2).__i__i_2) /* ^?{} */);
+    }
+    inline struct __anonymous3 ___operator_assign__F13s__anonymous3_13s__anonymous313s__anonymous3_autogen___2(struct __anonymous3 *___dst__13s__anonymous3_2, struct __anonymous3 ___src__13s__anonymous3_2){
+        struct __anonymous3 ___ret__13s__anonymous3_2;
+        ((void)((*___dst__13s__anonymous3_2).__i__i_2=___src__13s__anonymous3_2.__i__i_2));
+        ((void)___constructor__F_13s__anonymous313s__anonymous3_autogen___2((&___ret__13s__anonymous3_2), (*___dst__13s__anonymous3_2)));
+        return ___ret__13s__anonymous3_2;
+    }
+    inline void ___constructor__F_13s__anonymous3i_autogen___2(struct __anonymous3 *___dst__13s__anonymous3_2, signed int __i__i_2){
+        ((void)((*___dst__13s__anonymous3_2).__i__i_2=__i__i_2) /* ?{} */);
+    }
+    ((void)sizeof(struct __anonymous3 ));
+    enum __attribute__ ((unused)) __anonymous4 {
+        __R__C13e__anonymous4_2,
     };
-    inline void ___constructor__F_13e__anonymous5_intrinsic___2(__attribute__ ((unused)) enum __anonymous5 *___dst__13e__anonymous5_2){
-    }
-    inline void ___constructor__F_13e__anonymous513e__anonymous5_intrinsic___2(enum __anonymous5 *___dst__13e__anonymous5_2, enum __anonymous5 ___src__13e__anonymous5_2){
-        ((void)((*___dst__13e__anonymous5_2)=___src__13e__anonymous5_2) /* ?{} */);
-    }
-    inline void ___destructor__F_13e__anonymous5_intrinsic___2(__attribute__ ((unused)) enum __anonymous5 *___dst__13e__anonymous5_2){
-    }
-    inline enum __anonymous5 ___operator_assign__F13e__anonymous5_13e__anonymous513e__anonymous5_intrinsic___2(enum __anonymous5 *___dst__13e__anonymous5_2, enum __anonymous5 ___src__13e__anonymous5_2){
-        enum __anonymous5 ___ret__13e__anonymous5_2;
-        ((void)((*___dst__13e__anonymous5_2)=___src__13e__anonymous5_2));
-        ((void)(___ret__13e__anonymous5_2=(*___dst__13e__anonymous5_2)) /* ?{} */);
-        return ___ret__13e__anonymous5_2;
-    }
-    ((void)sizeof(enum __anonymous5 ));
+    inline void ___constructor__F_13e__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *___dst__13e__anonymous4_2){
+    }
+    inline void ___constructor__F_13e__anonymous413e__anonymous4_intrinsic___2(enum __anonymous4 *___dst__13e__anonymous4_2, enum __anonymous4 ___src__13e__anonymous4_2){
+        ((void)((*___dst__13e__anonymous4_2)=___src__13e__anonymous4_2) /* ?{} */);
+    }
+    inline void ___destructor__F_13e__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *___dst__13e__anonymous4_2){
+    }
+    inline enum __anonymous4 ___operator_assign__F13e__anonymous4_13e__anonymous413e__anonymous4_intrinsic___2(enum __anonymous4 *___dst__13e__anonymous4_2, enum __anonymous4 ___src__13e__anonymous4_2){
+        enum __anonymous4 ___ret__13e__anonymous4_2;
+        ((void)((*___dst__13e__anonymous4_2)=___src__13e__anonymous4_2));
+        ((void)(___ret__13e__anonymous4_2=(*___dst__13e__anonymous4_2)) /* ?{} */);
+        return ___ret__13e__anonymous4_2;
+    }
+    ((void)sizeof(enum __anonymous4 ));
 }
 signed int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object14, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object15);
