Index: tests/.expect/extension.x86.txt
===================================================================
--- tests/.expect/extension.x86.txt	(revision 3e5fea2e8e80a245642d87ae8b4d88b702fb3e57)
+++ tests/.expect/extension.x86.txt	(revision d8a307394c8bcba5ac53fe0e01cfec5e84cc368a)
@@ -7,5 +7,5 @@
     __extension__ signed int _X1ci_1;
 };
-static inline void _X12_constructorFv_S1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_S1S_autogen__"),visibility("default"),used)) void _X12_constructorFv_S1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ai_1) /* ?{} */);
@@ -21,5 +21,5 @@
 
 }
-static inline void _X12_constructorFv_S1SS1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, __attribute__ ((unused)) struct S _X4_srcS1S_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_S1SS1S_autogen__"),visibility("default"),used)) void _X12_constructorFv_S1SS1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, __attribute__ ((unused)) struct S _X4_srcS1S_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ai_1=_X4_srcS1S_1._X1ai_1) /* ?{} */);
@@ -35,5 +35,5 @@
 
 }
-static inline void _X11_destructorFv_S1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1){
+__attribute__ ((section(".gnu.linkonce._X11_destructorFv_S1S_autogen__"),visibility("default"),used)) void _X11_destructorFv_S1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ci_1) /* ^?{} */);
@@ -49,5 +49,5 @@
 
 }
-static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, __attribute__ ((unused)) struct S _X4_srcS1S_1){
+__attribute__ ((section(".gnu.linkonce._X16_operator_assignFS1S_S1SS1S_autogen__"),visibility("default"),used)) struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, __attribute__ ((unused)) struct S _X4_srcS1S_1){
     __attribute__ ((unused)) struct S _X4_retS1S_1;
     {
@@ -69,5 +69,5 @@
     return _X4_retS1S_1;
 }
-static inline void _X12_constructorFv_S1Si_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_S1Si_autogen__"),visibility("default"),used)) void _X12_constructorFv_S1Si_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
@@ -83,5 +83,5 @@
 
 }
-static inline void _X12_constructorFv_S1Sii_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_S1Sii_autogen__"),visibility("default"),used)) void _X12_constructorFv_S1Sii_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
@@ -97,5 +97,5 @@
 
 }
-static inline void _X12_constructorFv_S1Siii_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_S1Siii_autogen__"),visibility("default"),used)) void _X12_constructorFv_S1Siii_autogen___1(__attribute__ ((unused)) struct S *_X4_dstS1S_1, signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
     {
         ((void)((*_X4_dstS1S_1)._X1ai_1=_X1ai_1) /* ?{} */);
@@ -116,7 +116,7 @@
     __extension__ signed int _X1ci_1;
 };
-static inline void _X12_constructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
-}
-static inline void _X12_constructorFv_U1UU1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, __attribute__ ((unused)) union U _X4_srcU1U_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_U1U_autogen__"),visibility("default"),used)) void _X12_constructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
+}
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_U1UU1U_autogen__"),visibility("default"),used)) void _X12_constructorFv_U1UU1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, __attribute__ ((unused)) union U _X4_srcU1U_1){
     {
         ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X4_srcU1U_1)), sizeof(union U )));
@@ -124,7 +124,7 @@
 
 }
-static inline void _X11_destructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
-}
-static inline union U _X16_operator_assignFU1U_U1UU1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, __attribute__ ((unused)) union U _X4_srcU1U_1){
+__attribute__ ((section(".gnu.linkonce._X11_destructorFv_U1U_autogen__"),visibility("default"),used)) void _X11_destructorFv_U1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1){
+}
+__attribute__ ((section(".gnu.linkonce._X16_operator_assignFU1U_U1UU1U_autogen__"),visibility("default"),used)) union U _X16_operator_assignFU1U_U1UU1U_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, __attribute__ ((unused)) union U _X4_srcU1U_1){
     __attribute__ ((unused)) union U _X4_retU1U_1;
     {
@@ -138,5 +138,5 @@
     return _X4_retU1U_1;
 }
-static inline void _X12_constructorFv_U1Ui_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, signed int _X1ai_1){
+__attribute__ ((section(".gnu.linkonce._X12_constructorFv_U1Ui_autogen__"),visibility("default"),used)) void _X12_constructorFv_U1Ui_autogen___1(__attribute__ ((unused)) union U *_X4_dstU1U_1, signed int _X1ai_1){
     {
         ((void)__builtin_memcpy(((void *)_X4_dstU1U_1), ((const void *)(&_X1ai_1)), sizeof(signed int )));
