- Timestamp:
- Jun 12, 2023, 2:45:32 PM (2 years ago)
- Branches:
- ast-experimental, master
- Children:
- 62d62db
- Parents:
- 34b4268 (diff), 251ce80 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- tests
- Files:
-
- 68 added
- 13 deleted
- 35 edited
- 139 moved
Legend:
- Unmodified
- Added
- Removed
-
tests/.expect/PRNG.x64.txt
r34b4268 r24d6572 1 1 2 PRNG() PRNG(5) PRNG(0,5) 3 861 3 0 4 10137507171299805328 1 2 5 12205946788447993741 4 0 6 16222929371023265189 2 5 7 11921944259646500358 1 1 8 9511863719043198063 2 0 9 18170109536749574203 0 1 10 15896208456307578543 0 3 11 4171113079117645375 1 4 12 5535309872453329531 1 1 13 13293369315461644140 2 2 14 855811942427900360 1 1 15 9125507373316195824 1 5 16 6942856496042419510 1 5 17 16774706561877323900 2 4 18 17765436951300330249 4 0 19 3766082030894719812 1 2 20 15818141700523398820 3 5 21 1244962761353699441 0 5 22 4506898200126256218 1 2 2 CFA xoshiro256pp 3 4 PRNG() PRNG(5) PRNG(0,5) 5 13944458589275087071 3 2 6 129977468648444256 0 4 7 2357727400298891021 2 2 8 8855179187835660146 3 3 9 9957620185645882382 4 1 10 13396406983727409795 0 5 11 3342782395220265920 0 5 12 1707651271867677937 1 0 13 16402561450140881681 0 1 14 17838519215740313729 4 2 15 7425936020594490136 4 0 16 4174865704721714670 3 5 17 16055269689200152092 0 2 18 15091270195803594018 1 5 19 11807315541476180798 1 1 20 10697186588988060306 4 1 21 14665526411527044929 3 2 22 11289342279096164771 2 5 23 16126980828050300615 1 4 24 7821578301767524260 4 1 23 25 seed 1009 24 26 25 27 Sequential 26 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%28 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 27 29 28 30 Concurrent 29 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%30 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%31 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%32 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%31 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 32 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 33 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 34 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 33 35 34 prng() prng(5)prng(0,5)35 861 3 036 10137507171299805328 1 2 37 12205946788447993741 4 0 38 16222929371023265189 2 5 39 11921944259646500358 1140 9511863719043198063 2 0 41 18170109536749574203 0 1 42 15896208456307578543 0 3 43 4171113079117645375 1 4 44 5535309872453329531 1 1 45 13293369315461644140 2 2 46 855811942427900360 1 1 47 9125507373316195824 1 5 48 6942856496042419510 1549 16774706561877323900 2 4 50 17765436951300330249 4 0 51 3766082030894719812 1252 15818141700523398820 3553 1244962761353699441 0 5 54 4506898200126256218 1 2 36 prng() prng(5) prng(0,5) 37 13944458589275087071 3 2 38 129977468648444256 0 4 39 2357727400298891021 2 2 40 8855179187835660146 3 3 41 9957620185645882382 4 1 42 13396406983727409795 0 5 43 3342782395220265920 0 5 44 1707651271867677937 1 0 45 16402561450140881681 0 1 46 17838519215740313729 4 2 47 7425936020594490136 4 0 48 4174865704721714670 3 5 49 16055269689200152092 0 2 50 15091270195803594018 1 5 51 11807315541476180798 1 1 52 10697186588988060306 4 1 53 14665526411527044929 3 2 54 11289342279096164771 2 5 55 16126980828050300615 1 4 56 7821578301767524260 4 1 55 57 seed 1009 56 58 57 59 Sequential 58 trials 100000000 buckets 100000 min 875 max 1138 avg 1000.0 std 31.8 rstd 3.2%60 trials 20000000 buckets 100000 min 139 max 265 avg 200.0 std 14.1 rstd 7.0% 59 61 60 62 Concurrent 61 trials 100000000 buckets 100000 min 875 max 1138 avg 1000.0 std 31.8 rstd 3.2%62 trials 100000000 buckets 100000 min 875 max 1138 avg 1000.0 std 31.8 rstd 3.2%63 trials 100000000 buckets 100000 min 875 max 1138 avg 1000.0 std 31.8 rstd 3.2%64 trials 100000000 buckets 100000 min 875 max 1138 avg 1000.0 std 31.8 rstd 3.2%63 trials 20000000 buckets 100000 min 139 max 265 avg 200.0 std 14.1 rstd 7.0% 64 trials 20000000 buckets 100000 min 139 max 265 avg 200.0 std 14.1 rstd 7.0% 65 trials 20000000 buckets 100000 min 139 max 265 avg 200.0 std 14.1 rstd 7.0% 66 trials 20000000 buckets 100000 min 139 max 265 avg 200.0 std 14.1 rstd 7.0% 65 67 66 prng(t) prng(t,5)prng(t,0,5)67 861 3 068 10137507171299805328 1 2 69 12205946788447993741 4 0 70 16222929371023265189 2 5 71 11921944259646500358 1172 9511863719043198063 2 0 73 18170109536749574203 0 1 74 15896208456307578543 0 3 75 4171113079117645375 1 4 76 5535309872453329531 1 1 77 13293369315461644140 2 2 78 855811942427900360 1 1 79 9125507373316195824 1 5 80 6942856496042419510 1581 16774706561877323900 2 4 82 17765436951300330249 4 0 83 3766082030894719812 1284 15818141700523398820 3585 1244962761353699441 0 5 86 4506898200126256218 1 2 68 prng(t) prng(t,5) prng(t,0,5) 69 13944458589275087071 3 2 70 129977468648444256 0 4 71 2357727400298891021 2 2 72 8855179187835660146 3 3 73 9957620185645882382 4 1 74 13396406983727409795 0 5 75 3342782395220265920 0 5 76 1707651271867677937 1 0 77 16402561450140881681 0 1 78 17838519215740313729 4 2 79 7425936020594490136 4 0 80 4174865704721714670 3 5 81 16055269689200152092 0 2 82 15091270195803594018 1 5 83 11807315541476180798 1 1 84 10697186588988060306 4 1 85 14665526411527044929 3 2 86 11289342279096164771 2 5 87 16126980828050300615 1 4 88 7821578301767524260 4 1 87 89 seed 1009 88 90 89 91 Sequential 90 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%92 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 91 93 92 94 Concurrent 93 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%94 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%95 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%96 trials 100000000 buckets 100000 min 875 max 11 38 avg 1000.0 std 31.8rstd 3.2%95 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 96 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 97 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% 98 trials 100000000 buckets 100000 min 875 max 1146 avg 1000.0 std 31.6 rstd 3.2% -
tests/.expect/PRNG.x86.txt
r34b4268 r24d6572 1 1 2 PRNG() PRNG(5) PRNG(0,5) 3 8333105 1 2 4 1989339636 4 5 5 266970699 3 2 6 1928130121 3 4 7 1351003938 4 5 8 1624164922 4 3 9 363429604 1 2 10 3355083174 1 1 11 214422584 1 1 12 2266729947 1 2 13 3649702519 2 4 14 2250875012 2 4 15 4184653025 1 3 16 2640851227 2 5 17 206468178 2 3 18 2600873108 1 3 19 3007574582 3 3 20 394476790 0 2 21 1312145388 1 5 22 2989081290 2 4 2 CFA xoshiro128pp 3 4 PRNG() PRNG(5) PRNG(0,5) 5 2884683541 0 0 6 3465286746 2 4 7 3268922916 0 1 8 2396374907 3 0 9 2135076892 4 1 10 944377718 3 1 11 2204845346 3 3 12 3736609533 0 4 13 4063231336 0 2 14 1075394776 0 2 15 712844808 4 0 16 4246343110 3 1 17 3793873837 2 1 18 3690340337 1 4 19 319207944 1 4 20 1815791072 3 5 21 2581617261 1 5 22 3873329448 1 3 23 832631329 4 0 24 651551615 3 5 23 25 seed 1009 24 26 25 27 Sequential 26 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%28 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 27 29 28 30 Concurrent 29 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%30 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%31 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%32 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%31 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 32 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 33 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 34 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 33 35 34 prng() prng(5)prng(0,5)35 8333105 1 236 1989339636 4 537 266970699 3 238 1928130121 3 439 1351003938 4 540 1624164922 4 341 363429604 1 242 3355083174 1 143 214422584 1 144 2266729947 1245 3649702519 2 446 2250875012 2 447 4184653025 1 348 2640851227 2 549 206468178 2 350 2600873108 1 351 3007574582 3 352 394476790 0 253 1312145388 1 554 2989081290 2 436 prng() prng(5) prng(0,5) 37 2884683541 0 0 38 3465286746 2 4 39 3268922916 0 1 40 2396374907 3 0 41 2135076892 4 1 42 944377718 3 1 43 2204845346 3 3 44 3736609533 0 4 45 4063231336 0 2 46 1075394776 0 2 47 712844808 4 0 48 4246343110 3 1 49 3793873837 2 1 50 3690340337 1 4 51 319207944 1 4 52 1815791072 3 5 53 2581617261 1 5 54 3873329448 1 3 55 832631329 4 0 56 651551615 3 5 55 57 seed 1009 56 58 57 59 Sequential 58 trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%60 trials 20000000 buckets 100000 min 144 max 270 avg 200.0 std 14.1 rstd 7.1% 59 61 60 62 Concurrent 61 trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%62 trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%63 trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%64 trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%63 trials 20000000 buckets 100000 min 144 max 270 avg 200.0 std 14.1 rstd 7.1% 64 trials 20000000 buckets 100000 min 144 max 270 avg 200.0 std 14.1 rstd 7.1% 65 trials 20000000 buckets 100000 min 144 max 270 avg 200.0 std 14.1 rstd 7.1% 66 trials 20000000 buckets 100000 min 144 max 270 avg 200.0 std 14.1 rstd 7.1% 65 67 66 prng(t) prng(t,5)prng(t,0,5)67 8333105 1 268 1989339636 4 569 266970699 3 270 1928130121 3 471 1351003938 4 572 1624164922 4 373 363429604 1 274 3355083174 1 175 214422584 1 176 2266729947 1277 3649702519 2 478 2250875012 2 479 4184653025 1 380 2640851227 2 581 206468178 2 382 2600873108 1 383 3007574582 3 384 394476790 0 285 1312145388 1 586 2989081290 2 468 prng(t) prng(t,5) prng(t,0,5) 69 2884683541 0 0 70 3465286746 2 4 71 3268922916 0 1 72 2396374907 3 0 73 2135076892 4 1 74 944377718 3 1 75 2204845346 3 3 76 3736609533 0 4 77 4063231336 0 2 78 1075394776 0 2 79 712844808 4 0 80 4246343110 3 1 81 3793873837 2 1 82 3690340337 1 4 83 319207944 1 4 84 1815791072 3 5 85 2581617261 1 5 86 3873329448 1 3 87 832631329 4 0 88 651551615 3 5 87 89 seed 1009 88 90 89 91 Sequential 90 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%92 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 91 93 92 94 Concurrent 93 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%94 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%95 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%96 trials 100000000 buckets 100000 min 8 73 max 1140 avg 1000.0 std 31.3 rstd 3.1%95 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 96 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 97 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% 98 trials 100000000 buckets 100000 min 858 max 1147 avg 1000.0 std 31.5 rstd 3.2% -
tests/.expect/array.txt
r34b4268 r24d6572 1 array.cfa: 52:25: warning: Compiled1 array.cfa:119:25: warning: Preprocessor started -
tests/.expect/attributes.arm64.txt
r34b4268 r24d6572 26 26 return _X4_retS12__anonymous0_1; 27 27 } 28 __attribute__ ((unused)) st ruct __anonymous0 _X5DummyS12__anonymous0_1;28 __attribute__ ((unused)) static struct __anonymous0 _X5DummyS12__anonymous0_1; 29 29 struct __attribute__ ((unused)) Agn1; 30 30 struct __attribute__ ((unused)) Agn2 { … … 1351 1351 signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object12)(signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object13)(signed int __param_0)); 1352 1352 signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object14)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)()); 1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)( signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(signed int __param_0));1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1354 1354 struct Vad { 1355 1355 __attribute__ ((unused)) signed int :4; -
tests/.expect/attributes.x64.txt
r34b4268 r24d6572 26 26 return _X4_retS12__anonymous0_1; 27 27 } 28 __attribute__ ((unused)) st ruct __anonymous0 _X5DummyS12__anonymous0_1;28 __attribute__ ((unused)) static struct __anonymous0 _X5DummyS12__anonymous0_1; 29 29 struct __attribute__ ((unused)) Agn1; 30 30 struct __attribute__ ((unused)) Agn2 { … … 1351 1351 signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object12)(signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object13)(signed int __param_0)); 1352 1352 signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object14)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)()); 1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)( signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(signed int __param_0));1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1354 1354 struct Vad { 1355 1355 __attribute__ ((unused)) signed int :4; -
tests/.expect/attributes.x86.txt
r34b4268 r24d6572 26 26 return _X4_retS12__anonymous0_1; 27 27 } 28 __attribute__ ((unused)) st ruct __anonymous0 _X5DummyS12__anonymous0_1;28 __attribute__ ((unused)) static struct __anonymous0 _X5DummyS12__anonymous0_1; 29 29 struct __attribute__ ((unused)) Agn1; 30 30 struct __attribute__ ((unused)) Agn2 { … … 1351 1351 signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object12)(signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object13)(signed int __param_0)); 1352 1352 signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object14)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)()); 1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)( signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(signed int __param_0));1353 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1354 1354 struct Vad { 1355 1355 __attribute__ ((unused)) signed int :4; -
tests/.expect/declarationSpecifier.arm64.txt
r34b4268 r24d6572 51 51 52 52 } 53 volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;53 static volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1; 54 54 struct __anonymous1 { 55 55 signed int _X1ii_1; … … 96 96 97 97 } 98 volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;98 static volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1; 99 99 struct __anonymous2 { 100 100 signed int _X1ii_1; … … 141 141 142 142 } 143 volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;143 static volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1; 144 144 struct __anonymous3 { 145 145 signed int _X1ii_1; … … 322 322 } 323 323 static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1; 324 struct __anonymous7 {325 signed int _X1ii_1;326 };327 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);328 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);329 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);330 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);331 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1);332 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){333 {334 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);335 }336 337 }338 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){339 {340 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);341 }342 343 }344 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){345 {346 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);347 }348 349 }350 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){351 struct __anonymous7 _X4_retS12__anonymous7_1;352 {353 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));354 }355 356 {357 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));358 }359 360 return _X4_retS12__anonymous7_1;361 }362 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1){363 {364 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);365 }366 367 }368 static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1;369 324 volatile const signed short int _X3x20KVs_1; 370 325 static volatile const signed short int _X3x21KVs_1; … … 375 330 static volatile const signed short int _X3x26KVs_1; 376 331 static volatile const signed short int _X3x27KVs_1; 332 struct __anonymous7 { 333 signed short int _X1is_1; 334 }; 335 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 336 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 337 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 338 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 339 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1); 340 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 341 { 342 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ?{} */); 343 } 344 345 } 346 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 347 { 348 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1) /* ?{} */); 349 } 350 351 } 352 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 353 { 354 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ^?{} */); 355 } 356 357 } 358 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 359 struct __anonymous7 _X4_retS12__anonymous7_1; 360 { 361 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1)); 362 } 363 364 { 365 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1))); 366 } 367 368 return _X4_retS12__anonymous7_1; 369 } 370 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1){ 371 { 372 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X1is_1) /* ?{} */); 373 } 374 375 } 376 static volatile const struct __anonymous7 _X3x29KVS12__anonymous7_1; 377 377 struct __anonymous8 { 378 378 signed short int _X1is_1; … … 419 419 420 420 } 421 volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1;421 static volatile const struct __anonymous8 _X3x30KVS12__anonymous8_1; 422 422 struct __anonymous9 { 423 423 signed short int _X1is_1; … … 464 464 465 465 } 466 volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1;466 static volatile const struct __anonymous9 _X3x31KVS12__anonymous9_1; 467 467 struct __anonymous10 { 468 468 signed short int _X1is_1; … … 509 509 510 510 } 511 volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1;511 static volatile const struct __anonymous10 _X3x32KVS13__anonymous10_1; 512 512 struct __anonymous11 { 513 513 signed short int _X1is_1; … … 554 554 555 555 } 556 static volatile const struct __anonymous11 _X3x3 2KVS13__anonymous11_1;556 static volatile const struct __anonymous11 _X3x33KVS13__anonymous11_1; 557 557 struct __anonymous12 { 558 558 signed short int _X1is_1; … … 599 599 600 600 } 601 static volatile const struct __anonymous12 _X3x3 3KVS13__anonymous12_1;601 static volatile const struct __anonymous12 _X3x34KVS13__anonymous12_1; 602 602 struct __anonymous13 { 603 603 signed short int _X1is_1; … … 644 644 645 645 } 646 static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1; 647 struct __anonymous14 { 648 signed short int _X1is_1; 649 }; 650 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 651 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 652 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 653 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 654 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1); 655 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 656 { 657 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */); 658 } 659 660 } 661 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 662 { 663 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */); 664 } 665 666 } 667 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 668 { 669 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */); 670 } 671 672 } 673 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 674 struct __anonymous14 _X4_retS13__anonymous14_1; 675 { 676 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1)); 677 } 678 679 { 680 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 681 } 682 683 return _X4_retS13__anonymous14_1; 684 } 685 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */); 688 } 689 690 } 691 static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1; 692 struct __anonymous15 { 693 signed short int _X1is_1; 694 }; 695 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 696 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 697 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 698 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 699 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1); 700 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 701 { 702 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */); 703 } 704 705 } 706 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 707 { 708 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */); 709 } 710 711 } 712 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 713 { 714 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */); 715 } 716 717 } 718 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 719 struct __anonymous15 _X4_retS13__anonymous15_1; 720 { 721 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1)); 722 } 723 724 { 725 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 726 } 727 728 return _X4_retS13__anonymous15_1; 729 } 730 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */); 733 } 734 735 } 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 646 static volatile const struct __anonymous13 _X3x35KVS13__anonymous13_1; 737 647 _Thread_local signed int _X3x37i_1; 738 648 __thread signed int _X3x38i_1; … … 753 663 static inline volatile const signed short int _X3f27Fs___1(); 754 664 static inline volatile const signed short int _X3f28Fs___1(); 665 struct __anonymous14 { 666 signed int _X1ii_1; 667 }; 668 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 669 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 670 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 671 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 672 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1); 673 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 674 { 675 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ?{} */); 676 } 677 678 } 679 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 680 { 681 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1) /* ?{} */); 682 } 683 684 } 685 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ^?{} */); 688 } 689 690 } 691 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 692 struct __anonymous14 _X4_retS13__anonymous14_1; 693 { 694 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1)); 695 } 696 697 { 698 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 699 } 700 701 return _X4_retS13__anonymous14_1; 702 } 703 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1){ 704 { 705 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X1ii_1) /* ?{} */); 706 } 707 708 } 709 static inline volatile const struct __anonymous14 _X3f31FS13__anonymous14___1(); 710 struct __anonymous15 { 711 signed int _X1ii_1; 712 }; 713 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 714 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 715 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 716 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 717 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1); 718 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 719 { 720 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ?{} */); 721 } 722 723 } 724 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 725 { 726 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1) /* ?{} */); 727 } 728 729 } 730 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ^?{} */); 733 } 734 735 } 736 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 737 struct __anonymous15 _X4_retS13__anonymous15_1; 738 { 739 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1)); 740 } 741 742 { 743 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 744 } 745 746 return _X4_retS13__anonymous15_1; 747 } 748 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1){ 749 { 750 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X1ii_1) /* ?{} */); 751 } 752 753 } 754 static inline volatile const struct __anonymous15 _X3f32FS13__anonymous15___1(); 755 755 struct __anonymous16 { 756 756 signed int _X1ii_1; … … 797 797 798 798 } 799 static inline volatile const struct __anonymous16 _X3f3 1FS13__anonymous16___1();799 static inline volatile const struct __anonymous16 _X3f33FS13__anonymous16___1(); 800 800 struct __anonymous17 { 801 801 signed int _X1ii_1; … … 842 842 843 843 } 844 static inline volatile const struct __anonymous17 _X3f3 2FS13__anonymous17___1();844 static inline volatile const struct __anonymous17 _X3f34FS13__anonymous17___1(); 845 845 struct __anonymous18 { 846 846 signed int _X1ii_1; … … 887 887 888 888 } 889 static inline volatile const struct __anonymous18 _X3f3 3FS13__anonymous18___1();889 static inline volatile const struct __anonymous18 _X3f35FS13__anonymous18___1(); 890 890 struct __anonymous19 { 891 891 signed int _X1ii_1; … … 932 932 933 933 } 934 static inline volatile const struct __anonymous19 _X3f3 4FS13__anonymous19___1();934 static inline volatile const struct __anonymous19 _X3f36FS13__anonymous19___1(); 935 935 struct __anonymous20 { 936 936 signed int _X1ii_1; … … 977 977 978 978 } 979 static inline volatile const struct __anonymous20 _X3f3 5FS13__anonymous20___1();979 static inline volatile const struct __anonymous20 _X3f37FS13__anonymous20___1(); 980 980 struct __anonymous21 { 981 981 signed int _X1ii_1; … … 1022 1022 1023 1023 } 1024 static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1(); 1025 struct __anonymous22 { 1026 signed int _X1ii_1; 1027 }; 1028 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1029 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1030 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1031 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1032 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1); 1033 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1034 { 1035 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1036 } 1037 1038 } 1039 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1040 { 1041 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1042 } 1043 1044 } 1045 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1046 { 1047 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1048 } 1049 1050 } 1051 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1052 struct __anonymous22 _X4_retS13__anonymous22_1; 1053 { 1054 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 1055 } 1056 1057 { 1058 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1059 } 1060 1061 return _X4_retS13__anonymous22_1; 1062 } 1063 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){ 1064 { 1065 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1066 } 1067 1068 } 1069 static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1(); 1070 struct __anonymous23 { 1071 signed int _X1ii_1; 1072 }; 1073 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1074 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1075 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1076 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1077 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1); 1078 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1079 { 1080 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1081 } 1082 1083 } 1084 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1085 { 1086 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1087 } 1088 1089 } 1090 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1091 { 1092 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1093 } 1094 1095 } 1096 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1097 struct __anonymous23 _X4_retS13__anonymous23_1; 1098 { 1099 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 1100 } 1101 1102 { 1103 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1104 } 1105 1106 return _X4_retS13__anonymous23_1; 1107 } 1108 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){ 1109 { 1110 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1111 } 1112 1113 } 1114 static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1(); 1024 static inline volatile const struct __anonymous21 _X3f38FS13__anonymous21___1(); 1115 1025 static inline volatile const signed short int _X3f41Fs___1(); 1116 1026 static inline volatile const signed short int _X3f42Fs___1(); -
tests/.expect/declarationSpecifier.x64.txt
r34b4268 r24d6572 51 51 52 52 } 53 volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;53 static volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1; 54 54 struct __anonymous1 { 55 55 signed int _X1ii_1; … … 96 96 97 97 } 98 volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;98 static volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1; 99 99 struct __anonymous2 { 100 100 signed int _X1ii_1; … … 141 141 142 142 } 143 volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;143 static volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1; 144 144 struct __anonymous3 { 145 145 signed int _X1ii_1; … … 322 322 } 323 323 static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1; 324 struct __anonymous7 {325 signed int _X1ii_1;326 };327 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);328 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);329 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);330 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);331 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1);332 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){333 {334 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);335 }336 337 }338 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){339 {340 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);341 }342 343 }344 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){345 {346 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);347 }348 349 }350 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){351 struct __anonymous7 _X4_retS12__anonymous7_1;352 {353 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));354 }355 356 {357 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));358 }359 360 return _X4_retS12__anonymous7_1;361 }362 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1){363 {364 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);365 }366 367 }368 static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1;369 324 volatile const signed short int _X3x20KVs_1; 370 325 static volatile const signed short int _X3x21KVs_1; … … 375 330 static volatile const signed short int _X3x26KVs_1; 376 331 static volatile const signed short int _X3x27KVs_1; 332 struct __anonymous7 { 333 signed short int _X1is_1; 334 }; 335 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 336 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 337 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 338 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 339 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1); 340 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 341 { 342 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ?{} */); 343 } 344 345 } 346 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 347 { 348 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1) /* ?{} */); 349 } 350 351 } 352 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 353 { 354 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ^?{} */); 355 } 356 357 } 358 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 359 struct __anonymous7 _X4_retS12__anonymous7_1; 360 { 361 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1)); 362 } 363 364 { 365 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1))); 366 } 367 368 return _X4_retS12__anonymous7_1; 369 } 370 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1){ 371 { 372 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X1is_1) /* ?{} */); 373 } 374 375 } 376 static volatile const struct __anonymous7 _X3x29KVS12__anonymous7_1; 377 377 struct __anonymous8 { 378 378 signed short int _X1is_1; … … 419 419 420 420 } 421 volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1;421 static volatile const struct __anonymous8 _X3x30KVS12__anonymous8_1; 422 422 struct __anonymous9 { 423 423 signed short int _X1is_1; … … 464 464 465 465 } 466 volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1;466 static volatile const struct __anonymous9 _X3x31KVS12__anonymous9_1; 467 467 struct __anonymous10 { 468 468 signed short int _X1is_1; … … 509 509 510 510 } 511 volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1;511 static volatile const struct __anonymous10 _X3x32KVS13__anonymous10_1; 512 512 struct __anonymous11 { 513 513 signed short int _X1is_1; … … 554 554 555 555 } 556 static volatile const struct __anonymous11 _X3x3 2KVS13__anonymous11_1;556 static volatile const struct __anonymous11 _X3x33KVS13__anonymous11_1; 557 557 struct __anonymous12 { 558 558 signed short int _X1is_1; … … 599 599 600 600 } 601 static volatile const struct __anonymous12 _X3x3 3KVS13__anonymous12_1;601 static volatile const struct __anonymous12 _X3x34KVS13__anonymous12_1; 602 602 struct __anonymous13 { 603 603 signed short int _X1is_1; … … 644 644 645 645 } 646 static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1; 647 struct __anonymous14 { 648 signed short int _X1is_1; 649 }; 650 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 651 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 652 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 653 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 654 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1); 655 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 656 { 657 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */); 658 } 659 660 } 661 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 662 { 663 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */); 664 } 665 666 } 667 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 668 { 669 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */); 670 } 671 672 } 673 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 674 struct __anonymous14 _X4_retS13__anonymous14_1; 675 { 676 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1)); 677 } 678 679 { 680 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 681 } 682 683 return _X4_retS13__anonymous14_1; 684 } 685 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */); 688 } 689 690 } 691 static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1; 692 struct __anonymous15 { 693 signed short int _X1is_1; 694 }; 695 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 696 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 697 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 698 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 699 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1); 700 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 701 { 702 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */); 703 } 704 705 } 706 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 707 { 708 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */); 709 } 710 711 } 712 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 713 { 714 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */); 715 } 716 717 } 718 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 719 struct __anonymous15 _X4_retS13__anonymous15_1; 720 { 721 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1)); 722 } 723 724 { 725 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 726 } 727 728 return _X4_retS13__anonymous15_1; 729 } 730 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */); 733 } 734 735 } 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 646 static volatile const struct __anonymous13 _X3x35KVS13__anonymous13_1; 737 647 _Thread_local signed int _X3x37i_1; 738 648 __thread signed int _X3x38i_1; … … 753 663 static inline volatile const signed short int _X3f27Fs___1(); 754 664 static inline volatile const signed short int _X3f28Fs___1(); 665 struct __anonymous14 { 666 signed int _X1ii_1; 667 }; 668 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 669 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 670 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 671 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 672 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1); 673 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 674 { 675 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ?{} */); 676 } 677 678 } 679 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 680 { 681 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1) /* ?{} */); 682 } 683 684 } 685 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ^?{} */); 688 } 689 690 } 691 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 692 struct __anonymous14 _X4_retS13__anonymous14_1; 693 { 694 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1)); 695 } 696 697 { 698 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 699 } 700 701 return _X4_retS13__anonymous14_1; 702 } 703 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1){ 704 { 705 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X1ii_1) /* ?{} */); 706 } 707 708 } 709 static inline volatile const struct __anonymous14 _X3f31FS13__anonymous14___1(); 710 struct __anonymous15 { 711 signed int _X1ii_1; 712 }; 713 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 714 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 715 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 716 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 717 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1); 718 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 719 { 720 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ?{} */); 721 } 722 723 } 724 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 725 { 726 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1) /* ?{} */); 727 } 728 729 } 730 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ^?{} */); 733 } 734 735 } 736 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 737 struct __anonymous15 _X4_retS13__anonymous15_1; 738 { 739 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1)); 740 } 741 742 { 743 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 744 } 745 746 return _X4_retS13__anonymous15_1; 747 } 748 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1){ 749 { 750 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X1ii_1) /* ?{} */); 751 } 752 753 } 754 static inline volatile const struct __anonymous15 _X3f32FS13__anonymous15___1(); 755 755 struct __anonymous16 { 756 756 signed int _X1ii_1; … … 797 797 798 798 } 799 static inline volatile const struct __anonymous16 _X3f3 1FS13__anonymous16___1();799 static inline volatile const struct __anonymous16 _X3f33FS13__anonymous16___1(); 800 800 struct __anonymous17 { 801 801 signed int _X1ii_1; … … 842 842 843 843 } 844 static inline volatile const struct __anonymous17 _X3f3 2FS13__anonymous17___1();844 static inline volatile const struct __anonymous17 _X3f34FS13__anonymous17___1(); 845 845 struct __anonymous18 { 846 846 signed int _X1ii_1; … … 887 887 888 888 } 889 static inline volatile const struct __anonymous18 _X3f3 3FS13__anonymous18___1();889 static inline volatile const struct __anonymous18 _X3f35FS13__anonymous18___1(); 890 890 struct __anonymous19 { 891 891 signed int _X1ii_1; … … 932 932 933 933 } 934 static inline volatile const struct __anonymous19 _X3f3 4FS13__anonymous19___1();934 static inline volatile const struct __anonymous19 _X3f36FS13__anonymous19___1(); 935 935 struct __anonymous20 { 936 936 signed int _X1ii_1; … … 977 977 978 978 } 979 static inline volatile const struct __anonymous20 _X3f3 5FS13__anonymous20___1();979 static inline volatile const struct __anonymous20 _X3f37FS13__anonymous20___1(); 980 980 struct __anonymous21 { 981 981 signed int _X1ii_1; … … 1022 1022 1023 1023 } 1024 static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1(); 1025 struct __anonymous22 { 1026 signed int _X1ii_1; 1027 }; 1028 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1029 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1030 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1031 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1032 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1); 1033 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1034 { 1035 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1036 } 1037 1038 } 1039 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1040 { 1041 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1042 } 1043 1044 } 1045 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1046 { 1047 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1048 } 1049 1050 } 1051 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1052 struct __anonymous22 _X4_retS13__anonymous22_1; 1053 { 1054 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 1055 } 1056 1057 { 1058 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1059 } 1060 1061 return _X4_retS13__anonymous22_1; 1062 } 1063 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){ 1064 { 1065 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1066 } 1067 1068 } 1069 static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1(); 1070 struct __anonymous23 { 1071 signed int _X1ii_1; 1072 }; 1073 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1074 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1075 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1076 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1077 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1); 1078 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1079 { 1080 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1081 } 1082 1083 } 1084 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1085 { 1086 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1087 } 1088 1089 } 1090 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1091 { 1092 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1093 } 1094 1095 } 1096 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1097 struct __anonymous23 _X4_retS13__anonymous23_1; 1098 { 1099 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 1100 } 1101 1102 { 1103 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1104 } 1105 1106 return _X4_retS13__anonymous23_1; 1107 } 1108 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){ 1109 { 1110 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1111 } 1112 1113 } 1114 static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1(); 1024 static inline volatile const struct __anonymous21 _X3f38FS13__anonymous21___1(); 1115 1025 static inline volatile const signed short int _X3f41Fs___1(); 1116 1026 static inline volatile const signed short int _X3f42Fs___1(); -
tests/.expect/declarationSpecifier.x86.txt
r34b4268 r24d6572 51 51 52 52 } 53 volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1;53 static volatile const struct __anonymous0 _X3x10KVS12__anonymous0_1; 54 54 struct __anonymous1 { 55 55 signed int _X1ii_1; … … 96 96 97 97 } 98 volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1;98 static volatile const struct __anonymous1 _X3x11KVS12__anonymous1_1; 99 99 struct __anonymous2 { 100 100 signed int _X1ii_1; … … 141 141 142 142 } 143 volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1;143 static volatile const struct __anonymous2 _X3x12KVS12__anonymous2_1; 144 144 struct __anonymous3 { 145 145 signed int _X1ii_1; … … 322 322 } 323 323 static volatile const struct __anonymous6 _X3x16KVS12__anonymous6_1; 324 struct __anonymous7 {325 signed int _X1ii_1;326 };327 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);328 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);329 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1);330 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1);331 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1);332 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){333 {334 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ?{} */);335 }336 337 }338 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){339 {340 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1) /* ?{} */);341 }342 343 }344 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){345 {346 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1) /* ^?{} */);347 }348 349 }350 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){351 struct __anonymous7 _X4_retS12__anonymous7_1;352 {353 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X4_srcS12__anonymous7_1._X1ii_1));354 }355 356 {357 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1)));358 }359 360 return _X4_retS12__anonymous7_1;361 }362 static inline void _X12_constructorFv_S12__anonymous7i_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed int _X1ii_1){363 {364 ((void)((*_X4_dstS12__anonymous7_1)._X1ii_1=_X1ii_1) /* ?{} */);365 }366 367 }368 static volatile const struct __anonymous7 _X3x17KVS12__anonymous7_1;369 324 volatile const signed short int _X3x20KVs_1; 370 325 static volatile const signed short int _X3x21KVs_1; … … 375 330 static volatile const signed short int _X3x26KVs_1; 376 331 static volatile const signed short int _X3x27KVs_1; 332 struct __anonymous7 { 333 signed short int _X1is_1; 334 }; 335 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 336 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 337 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1); 338 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1); 339 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1); 340 static inline void _X12_constructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 341 { 342 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ?{} */); 343 } 344 345 } 346 static inline void _X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 347 { 348 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1) /* ?{} */); 349 } 350 351 } 352 static inline void _X11_destructorFv_S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1){ 353 { 354 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1) /* ^?{} */); 355 } 356 357 } 358 static inline struct __anonymous7 _X16_operator_assignFS12__anonymous7_S12__anonymous7S12__anonymous7_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, struct __anonymous7 _X4_srcS12__anonymous7_1){ 359 struct __anonymous7 _X4_retS12__anonymous7_1; 360 { 361 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X4_srcS12__anonymous7_1._X1is_1)); 362 } 363 364 { 365 ((void)_X12_constructorFv_S12__anonymous7S12__anonymous7_autogen___1((&_X4_retS12__anonymous7_1), (*_X4_dstS12__anonymous7_1))); 366 } 367 368 return _X4_retS12__anonymous7_1; 369 } 370 static inline void _X12_constructorFv_S12__anonymous7s_autogen___1(struct __anonymous7 *_X4_dstS12__anonymous7_1, signed short int _X1is_1){ 371 { 372 ((void)((*_X4_dstS12__anonymous7_1)._X1is_1=_X1is_1) /* ?{} */); 373 } 374 375 } 376 static volatile const struct __anonymous7 _X3x29KVS12__anonymous7_1; 377 377 struct __anonymous8 { 378 378 signed short int _X1is_1; … … 419 419 420 420 } 421 volatile const struct __anonymous8 _X3x29KVS12__anonymous8_1;421 static volatile const struct __anonymous8 _X3x30KVS12__anonymous8_1; 422 422 struct __anonymous9 { 423 423 signed short int _X1is_1; … … 464 464 465 465 } 466 volatile const struct __anonymous9 _X3x30KVS12__anonymous9_1;466 static volatile const struct __anonymous9 _X3x31KVS12__anonymous9_1; 467 467 struct __anonymous10 { 468 468 signed short int _X1is_1; … … 509 509 510 510 } 511 volatile const struct __anonymous10 _X3x31KVS13__anonymous10_1;511 static volatile const struct __anonymous10 _X3x32KVS13__anonymous10_1; 512 512 struct __anonymous11 { 513 513 signed short int _X1is_1; … … 554 554 555 555 } 556 static volatile const struct __anonymous11 _X3x3 2KVS13__anonymous11_1;556 static volatile const struct __anonymous11 _X3x33KVS13__anonymous11_1; 557 557 struct __anonymous12 { 558 558 signed short int _X1is_1; … … 599 599 600 600 } 601 static volatile const struct __anonymous12 _X3x3 3KVS13__anonymous12_1;601 static volatile const struct __anonymous12 _X3x34KVS13__anonymous12_1; 602 602 struct __anonymous13 { 603 603 signed short int _X1is_1; … … 644 644 645 645 } 646 static volatile const struct __anonymous13 _X3x34KVS13__anonymous13_1; 647 struct __anonymous14 { 648 signed short int _X1is_1; 649 }; 650 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 651 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 652 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 653 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 654 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1); 655 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 656 { 657 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ?{} */); 658 } 659 660 } 661 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 662 { 663 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1) /* ?{} */); 664 } 665 666 } 667 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 668 { 669 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1) /* ^?{} */); 670 } 671 672 } 673 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 674 struct __anonymous14 _X4_retS13__anonymous14_1; 675 { 676 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X4_srcS13__anonymous14_1._X1is_1)); 677 } 678 679 { 680 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 681 } 682 683 return _X4_retS13__anonymous14_1; 684 } 685 static inline void _X12_constructorFv_S13__anonymous14s_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed short int _X1is_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1is_1=_X1is_1) /* ?{} */); 688 } 689 690 } 691 static volatile const struct __anonymous14 _X3x35KVS13__anonymous14_1; 692 struct __anonymous15 { 693 signed short int _X1is_1; 694 }; 695 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 696 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 697 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 698 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 699 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1); 700 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 701 { 702 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ?{} */); 703 } 704 705 } 706 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 707 { 708 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1) /* ?{} */); 709 } 710 711 } 712 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 713 { 714 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1) /* ^?{} */); 715 } 716 717 } 718 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 719 struct __anonymous15 _X4_retS13__anonymous15_1; 720 { 721 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X4_srcS13__anonymous15_1._X1is_1)); 722 } 723 724 { 725 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 726 } 727 728 return _X4_retS13__anonymous15_1; 729 } 730 static inline void _X12_constructorFv_S13__anonymous15s_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed short int _X1is_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1is_1=_X1is_1) /* ?{} */); 733 } 734 735 } 736 static volatile const struct __anonymous15 _X3x36KVS13__anonymous15_1; 646 static volatile const struct __anonymous13 _X3x35KVS13__anonymous13_1; 737 647 _Thread_local signed int _X3x37i_1; 738 648 __thread signed int _X3x38i_1; … … 753 663 static inline volatile const signed short int _X3f27Fs___1(); 754 664 static inline volatile const signed short int _X3f28Fs___1(); 665 struct __anonymous14 { 666 signed int _X1ii_1; 667 }; 668 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 669 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 670 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1); 671 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1); 672 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1); 673 static inline void _X12_constructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 674 { 675 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ?{} */); 676 } 677 678 } 679 static inline void _X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 680 { 681 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1) /* ?{} */); 682 } 683 684 } 685 static inline void _X11_destructorFv_S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1){ 686 { 687 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1) /* ^?{} */); 688 } 689 690 } 691 static inline struct __anonymous14 _X16_operator_assignFS13__anonymous14_S13__anonymous14S13__anonymous14_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, struct __anonymous14 _X4_srcS13__anonymous14_1){ 692 struct __anonymous14 _X4_retS13__anonymous14_1; 693 { 694 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X4_srcS13__anonymous14_1._X1ii_1)); 695 } 696 697 { 698 ((void)_X12_constructorFv_S13__anonymous14S13__anonymous14_autogen___1((&_X4_retS13__anonymous14_1), (*_X4_dstS13__anonymous14_1))); 699 } 700 701 return _X4_retS13__anonymous14_1; 702 } 703 static inline void _X12_constructorFv_S13__anonymous14i_autogen___1(struct __anonymous14 *_X4_dstS13__anonymous14_1, signed int _X1ii_1){ 704 { 705 ((void)((*_X4_dstS13__anonymous14_1)._X1ii_1=_X1ii_1) /* ?{} */); 706 } 707 708 } 709 static inline volatile const struct __anonymous14 _X3f31FS13__anonymous14___1(); 710 struct __anonymous15 { 711 signed int _X1ii_1; 712 }; 713 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 714 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 715 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1); 716 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1); 717 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1); 718 static inline void _X12_constructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 719 { 720 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ?{} */); 721 } 722 723 } 724 static inline void _X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 725 { 726 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1) /* ?{} */); 727 } 728 729 } 730 static inline void _X11_destructorFv_S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1){ 731 { 732 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1) /* ^?{} */); 733 } 734 735 } 736 static inline struct __anonymous15 _X16_operator_assignFS13__anonymous15_S13__anonymous15S13__anonymous15_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, struct __anonymous15 _X4_srcS13__anonymous15_1){ 737 struct __anonymous15 _X4_retS13__anonymous15_1; 738 { 739 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X4_srcS13__anonymous15_1._X1ii_1)); 740 } 741 742 { 743 ((void)_X12_constructorFv_S13__anonymous15S13__anonymous15_autogen___1((&_X4_retS13__anonymous15_1), (*_X4_dstS13__anonymous15_1))); 744 } 745 746 return _X4_retS13__anonymous15_1; 747 } 748 static inline void _X12_constructorFv_S13__anonymous15i_autogen___1(struct __anonymous15 *_X4_dstS13__anonymous15_1, signed int _X1ii_1){ 749 { 750 ((void)((*_X4_dstS13__anonymous15_1)._X1ii_1=_X1ii_1) /* ?{} */); 751 } 752 753 } 754 static inline volatile const struct __anonymous15 _X3f32FS13__anonymous15___1(); 755 755 struct __anonymous16 { 756 756 signed int _X1ii_1; … … 797 797 798 798 } 799 static inline volatile const struct __anonymous16 _X3f3 1FS13__anonymous16___1();799 static inline volatile const struct __anonymous16 _X3f33FS13__anonymous16___1(); 800 800 struct __anonymous17 { 801 801 signed int _X1ii_1; … … 842 842 843 843 } 844 static inline volatile const struct __anonymous17 _X3f3 2FS13__anonymous17___1();844 static inline volatile const struct __anonymous17 _X3f34FS13__anonymous17___1(); 845 845 struct __anonymous18 { 846 846 signed int _X1ii_1; … … 887 887 888 888 } 889 static inline volatile const struct __anonymous18 _X3f3 3FS13__anonymous18___1();889 static inline volatile const struct __anonymous18 _X3f35FS13__anonymous18___1(); 890 890 struct __anonymous19 { 891 891 signed int _X1ii_1; … … 932 932 933 933 } 934 static inline volatile const struct __anonymous19 _X3f3 4FS13__anonymous19___1();934 static inline volatile const struct __anonymous19 _X3f36FS13__anonymous19___1(); 935 935 struct __anonymous20 { 936 936 signed int _X1ii_1; … … 977 977 978 978 } 979 static inline volatile const struct __anonymous20 _X3f3 5FS13__anonymous20___1();979 static inline volatile const struct __anonymous20 _X3f37FS13__anonymous20___1(); 980 980 struct __anonymous21 { 981 981 signed int _X1ii_1; … … 1022 1022 1023 1023 } 1024 static inline volatile const struct __anonymous21 _X3f36FS13__anonymous21___1(); 1025 struct __anonymous22 { 1026 signed int _X1ii_1; 1027 }; 1028 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1029 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1030 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1); 1031 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1); 1032 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1); 1033 static inline void _X12_constructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1034 { 1035 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ?{} */); 1036 } 1037 1038 } 1039 static inline void _X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1040 { 1041 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1) /* ?{} */); 1042 } 1043 1044 } 1045 static inline void _X11_destructorFv_S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1){ 1046 { 1047 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1) /* ^?{} */); 1048 } 1049 1050 } 1051 static inline struct __anonymous22 _X16_operator_assignFS13__anonymous22_S13__anonymous22S13__anonymous22_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, struct __anonymous22 _X4_srcS13__anonymous22_1){ 1052 struct __anonymous22 _X4_retS13__anonymous22_1; 1053 { 1054 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X4_srcS13__anonymous22_1._X1ii_1)); 1055 } 1056 1057 { 1058 ((void)_X12_constructorFv_S13__anonymous22S13__anonymous22_autogen___1((&_X4_retS13__anonymous22_1), (*_X4_dstS13__anonymous22_1))); 1059 } 1060 1061 return _X4_retS13__anonymous22_1; 1062 } 1063 static inline void _X12_constructorFv_S13__anonymous22i_autogen___1(struct __anonymous22 *_X4_dstS13__anonymous22_1, signed int _X1ii_1){ 1064 { 1065 ((void)((*_X4_dstS13__anonymous22_1)._X1ii_1=_X1ii_1) /* ?{} */); 1066 } 1067 1068 } 1069 static inline volatile const struct __anonymous22 _X3f37FS13__anonymous22___1(); 1070 struct __anonymous23 { 1071 signed int _X1ii_1; 1072 }; 1073 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1074 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1075 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1); 1076 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1); 1077 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1); 1078 static inline void _X12_constructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1079 { 1080 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ?{} */); 1081 } 1082 1083 } 1084 static inline void _X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1085 { 1086 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1) /* ?{} */); 1087 } 1088 1089 } 1090 static inline void _X11_destructorFv_S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1){ 1091 { 1092 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1) /* ^?{} */); 1093 } 1094 1095 } 1096 static inline struct __anonymous23 _X16_operator_assignFS13__anonymous23_S13__anonymous23S13__anonymous23_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, struct __anonymous23 _X4_srcS13__anonymous23_1){ 1097 struct __anonymous23 _X4_retS13__anonymous23_1; 1098 { 1099 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X4_srcS13__anonymous23_1._X1ii_1)); 1100 } 1101 1102 { 1103 ((void)_X12_constructorFv_S13__anonymous23S13__anonymous23_autogen___1((&_X4_retS13__anonymous23_1), (*_X4_dstS13__anonymous23_1))); 1104 } 1105 1106 return _X4_retS13__anonymous23_1; 1107 } 1108 static inline void _X12_constructorFv_S13__anonymous23i_autogen___1(struct __anonymous23 *_X4_dstS13__anonymous23_1, signed int _X1ii_1){ 1109 { 1110 ((void)((*_X4_dstS13__anonymous23_1)._X1ii_1=_X1ii_1) /* ?{} */); 1111 } 1112 1113 } 1114 static inline volatile const struct __anonymous23 _X3f38FS13__anonymous23___1(); 1024 static inline volatile const struct __anonymous21 _X3f38FS13__anonymous21___1(); 1115 1025 static inline volatile const signed short int _X3f41Fs___1(); 1116 1026 static inline volatile const signed short int _X3f42Fs___1(); -
tests/.expect/forall.txt
r34b4268 r24d6572 1 forall.cfa:244:25: warning: Compiled 1 1 2 f 3 97 4 f 5 g 6 f 7 f 8 g 9 fT 10 fT 11 fT 12 fTU 13 fTU 14 fTU 15 1 2 16 2 1 17 1, 2 18 @ 0 2 0 4 6.4 6.4 6.4 6.4+3.i 4 19 3. 3. 20 45 21 12 3 -
tests/.expect/nested_function.x64.txt
r34b4268 r24d6572 1 total 801 total 145 -
tests/.expect/nested_function.x86.txt
r34b4268 r24d6572 1 total 551 total 245 -
tests/Makefile.am
r34b4268 r24d6572 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : S at Jun 5 14:49:25 202114 ## Update Count : 9213 ## Last Modified On : Sun May 28 08:15:43 2023 14 ## Update Count : 196 15 15 ############################################################################### 16 16 … … 22 22 DEFAULT_INCLUDES = -I${abs_srcdir} 23 23 24 debug=yes 25 installed=no 26 archiveerrors= 27 28 DEBUG_FLAGS=-debug -g -O0 29 30 quick_test=avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes meta/dumpable 31 32 concurrent= 33 timeouts= 24 debug ?= yes 25 installed ?= no 26 ARCH = ${if ${arch},"--arch=${arch}"} 27 arch_support = "x86/x64/arm" 28 TIMEOUT = ${if ${timeout},"--timeout=${timeout}"} 29 GLOBAL_TIMEOUT = ${if ${global-timeout},"--global-timeout=${global-timeout}"} 30 ARCHIVE_ERRORS = ${if ${archive-errors},"--archive-errors=${archive-errors}"} 31 32 DEBUG_FLAGS = -debug -g -O0 33 34 quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes meta/dumpable 34 35 35 36 TEST_PY = python3 ${builddir}/test.py … … 37 38 # applies to both programs 38 39 # since automake doesn't have support for CFA we have to 39 AM_CFLAGS = $ (if $(test), 2> $(test), )\40 -fdebug-prefix-map=$ (abspath ${abs_srcdir})= \40 AM_CFLAGS = ${if ${test}, 2> ${test}, } \ 41 -fdebug-prefix-map=${abspath ${abs_srcdir}}= \ 41 42 -fdebug-prefix-map=/tmp= \ 42 43 -fno-diagnostics-show-caret \ … … 51 52 52 53 # get the desired cfa to test 53 TARGET_CFA = $ (if $(filter $(installed),yes), @CFACC_INSTALL@, @CFACC@)54 TARGET_CFA = ${if ${filter ${installed},yes}, @CFACC_INSTALL@, @CFACC@} 54 55 55 56 # adjust CC to current flags 56 CC = LC_ALL=C $ (if $(DISTCC_CFA_PATH),distcc $(DISTCC_CFA_PATH) ${ARCH_FLAGS} ,$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS})57 CFACC = $ (CC)57 CC = LC_ALL=C ${if ${DISTCC_CFA_PATH},distcc ${DISTCC_CFA_PATH} ${ARCH_FLAGS} ,${TARGET_CFA} ${DEBUG_FLAGS} ${ARCH_FLAGS}} 58 CFACC = ${CC} 58 59 59 60 # get local binary for depedencies … … 61 62 62 63 # adjusted CC but without the actual distcc call 63 CFACCLOCAL = $ (if $(DISTCC_CFA_PATH),$(DISTCC_CFA_PATH) ${ARCH_FLAGS} ,$(TARGET_CFA) ${DEBUG_FLAGS} ${ARCH_FLAGS})64 CFACCLINK = $ (CFACCLOCAL) -quiet $(if $(test), 2> $(test), ) $($(shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g'))65 66 PRETTY_PATH =mkdir -p $(dir $(abspath ${@}))&& cd ${srcdir} &&67 68 .PHONY :list .validate .test_makeflags69 .INTERMEDIATE : .validate .validate.cfa .test_makeflags64 CFACCLOCAL = ${if ${DISTCC_CFA_PATH},${DISTCC_CFA_PATH} ${ARCH_FLAGS} ,${TARGET_CFA} ${DEBUG_FLAGS} ${ARCH_FLAGS}} 65 CFACCLINK = ${CFACCLOCAL} -quiet ${if ${test}, 2> ${test}, } ${${shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g'}} 66 67 PRETTY_PATH = mkdir -p ${dir ${abspath ${@}}} && cd ${srcdir} && 68 69 .PHONY : concurrency list .validate .test_makeflags 70 .INTERMEDIATE : .validate .validate.cfa .test_makeflags 70 71 EXTRA_PROGRAMS = avl_test linkonce linking/mangling/anon .dummy_hack # build but do not install 71 72 EXTRA_DIST = test.py \ … … 78 79 avltree/avl-private.h \ 79 80 avltree/avl.h \ 80 concurrent/clib_tls.c \81 concurrent/clib.c \82 81 configs/.in/parseconfig-all.txt \ 83 82 configs/.in/parseconfig-errors.txt \ … … 88 87 io/.in/many_read.data \ 89 88 meta/fork+exec.hfa \ 90 unified_locking/mutex_test.hfa 89 concurrency/clib_tls.c \ 90 concurrency/clib.c \ 91 concurrency/unified_locking/mutex_test.hfa \ 92 concurrency/channels/parallel_harness.hfa 91 93 92 94 dist-hook: … … 94 96 for file in `${TEST_PY} --list-dist`; do \ 95 97 if test -f ${srcdir}/$${file}; then \ 96 $ (MKDIR_P)$$(dirname ${distdir}/$${file}); \98 ${MKDIR_P} $$(dirname ${distdir}/$${file}); \ 97 99 cp -df ${srcdir}/$${file} ${distdir}/$${file}; \ 98 100 fi; \ … … 106 108 107 109 #---------------------------------------------------------------------------------------------------------------- 108 all-local : 109 @+${TEST_PY} --debug=${debug} --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${quick_test} 110 111 all-tests : 112 @+${TEST_PY} --debug=${debug} --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 110 111 # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 112 all-local : # This name is important to automake and implies the default build target. 113 @+${TEST_PY} --debug=${debug} --install=${installed} --invariant ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} --all 114 115 tests : all-local # synonym 116 117 install : all-local # synonym, PAB only 118 119 quick : 120 @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${ARCH} ${quick_test} 121 122 concurrency : 123 @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} -Iconcurrency 124 125 list : 126 @+${TEST_PY} --list 127 128 help : 129 @echo "user targets:" 130 @echo " Run the complete test suite." 131 @echo " $$ make (null) / tests [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]" 132 @echo "" 133 @echo " Run the short (quick) test suite." 134 @echo " $$ make quick [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [arch=${arch_support}]" 135 @echo "" 136 @echo " Run the concurrency test suite." 137 @echo " $$ make concurrency [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]" 138 @echo "" 139 @echo " List all tests in the test suite." 140 @echo " $$ make list" 113 141 114 142 mostlyclean-local : … … 122 150 find ${builddir} -path '*.Po' -delete 123 151 124 list :125 @+${TEST_PY} --list ${concurrent}126 127 152 .test_makeflags: 128 153 @echo "${MAKEFLAGS}" 129 154 130 155 .validate: .validate.cfa 131 $ (CFACOMPILE).validate.cfa -fsyntax-only -Wall -Wextra -Werror156 ${CFACOMPILE} .validate.cfa -fsyntax-only -Wall -Wextra -Werror 132 157 133 158 .validate.cfa: … … 141 166 @echo "int bar() { return 0; }" > ${@} 142 167 143 concurrency :144 @+${TEST_PY} --debug=${debug} --install=${installed} -Iconcurrent145 146 168 #---------------------------------------------------------------------------------------------------------------- 147 169 148 170 # Use for all tests, make sure the path are correct and all flags are added 149 CFACOMPILETEST=$ (PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGSCFA" | sed 's/-\|\//_/g'))171 CFACOMPILETEST=${PRETTY_PATH} ${CFACOMPILE} ${shell realpath --relative-to=${srcdir} ${<}} ${${shell echo "${@}_FLAGSCFA" | sed 's/-\|\//_/g'}} 150 172 151 173 #---------------------------------------------------------------------------------------------------------------- … … 154 176 # split into two steps to support compiling remotely using distcc 155 177 # don't use distcc to do the linking because distcc doesn't do linking 156 % : %.cfa $ (CFACCBIN)157 $ (CFACOMPILETEST) -c -o $(abspath ${@}).o -DIN_DIR="$(abspath $(dir ${<}))/.in/"158 $ (CFACCLINK) ${@}.o -o $(abspath ${@})159 rm $ (abspath ${@}).o178 % : %.cfa ${CFACCBIN} 179 ${CFACOMPILETEST} -c -o ${abspath ${@}}.o -DIN_DIR="${abspath ${dir ${<}}}/.in/" 180 ${CFACCLINK} ${@}.o -o ${abspath ${@}} 181 rm ${abspath ${@}}.o 160 182 161 183 # implicit rule for c++ test 162 184 # convient for testing the testsuite itself but not actuall used 163 185 % : %.cpp 164 $ (PRETTY_PATH) $(CXXCOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})186 ${PRETTY_PATH} ${CXXCOMPILE} ${shell realpath --relative-to=${srcdir} ${<}} -o ${abspath ${@}} 165 187 166 188 #------------------------------------------------------------------------------ … … 173 195 # Generated code 174 196 GENERATED_CODE = declarationSpecifier gccExtensions extension attributes functions KRfunctions 175 $ (GENERATED_CODE): % : %.cfa $(CFACCBIN)176 $ (CFACOMPILETEST) -CFA -XCFA -p -c -fsyntax-only -o $(abspath ${@})197 ${GENERATED_CODE} : % : %.cfa ${CFACCBIN} 198 ${CFACOMPILETEST} -CFA -XCFA -p -c -fsyntax-only -o ${abspath ${@}} 177 199 178 200 #------------------------------------------------------------------------------ … … 180 202 #------------------------------------------------------------------------------ 181 203 # tests that just validate syntax and compiler output should be compared to stderr 182 CFACOMPILE_SYNTAX = $ (CFACOMPILETEST) -Wno-unused-variable -Wno-unused-label -c -fsyntax-only -o $(abspath ${@})183 184 SYNTAX_ONLY_CODE = expression typedefRedef variableDeclarator switch numericConstants identFuncDeclarator forall\185 init1 limits nested-types cast labelledExit array quasiKeyword include/stdincludes include/includes builtins/sync warnings/self-assignment 186 $ (SYNTAX_ONLY_CODE): % : %.cfa $(CFACCBIN)187 $ (CFACOMPILE_SYNTAX)188 $ (if $(test), cp $(test) $(abspath ${@}), )204 CFACOMPILE_SYNTAX = ${CFACOMPILETEST} -Wno-unused-variable -Wno-unused-label -c -fsyntax-only -o ${abspath ${@}} 205 206 SYNTAX_ONLY_CODE = expression typedefRedef variableDeclarator switch numericConstants identFuncDeclarator \ 207 init1 limits nested-types cast labelledExit array quasiKeyword include/stdincludes include/includes builtins/sync warnings/self-assignment concurrency/waitfor/parse 208 ${SYNTAX_ONLY_CODE} : % : %.cfa ${CFACCBIN} 209 ${CFACOMPILE_SYNTAX} 210 ${if ${test}, cp ${test} ${abspath ${@}}, } 189 211 190 212 # expected failures 191 213 # use custom target since they require a custom define *and* have a name that doesn't match the file 192 alloc-ERROR : alloc.cfa $(CFACCBIN) 193 $(CFACOMPILE_SYNTAX) -DERR1 194 -cp $(test) $(abspath ${@}) 195 196 init1-ERROR : init1.cfa $(CFACCBIN) 197 $(CFACOMPILE_SYNTAX) -DERR1 198 -cp $(test) $(abspath ${@}) 199 200 typedefRedef-ERR1 : typedefRedef.cfa $(CFACCBIN) 201 $(CFACOMPILE_SYNTAX) -DERR1 202 -cp $(test) $(abspath ${@}) 203 204 nested-types-ERR1 : nested-types.cfa $(CFACCBIN) 205 $(CFACOMPILE_SYNTAX) -DERR1 206 -cp $(test) $(abspath ${@}) 207 208 nested-types-ERR2 : nested-types.cfa $(CFACCBIN) 209 $(CFACOMPILE_SYNTAX) -DERR2 210 -cp $(test) $(abspath ${@}) 211 212 raii/memberCtors-ERR1 : raii/memberCtors.cfa $(CFACCBIN) 213 $(CFACOMPILE_SYNTAX) -DERR1 214 -cp $(test) $(abspath ${@}) 215 216 raii/ctor-autogen-ERR1 : raii/ctor-autogen.cfa $(CFACCBIN) 217 $(CFACOMPILE_SYNTAX) -DERR1 218 -cp $(test) $(abspath ${@}) 219 220 raii/dtor-early-exit-ERR1 : raii/dtor-early-exit.cfa $(CFACCBIN) 221 $(CFACOMPILE_SYNTAX) -DERR1 222 -cp $(test) $(abspath ${@}) 223 224 raii/dtor-early-exit-ERR2 : raii/dtor-early-exit.cfa $(CFACCBIN) 225 $(CFACOMPILE_SYNTAX) -DERR2 226 -cp $(test) $(abspath ${@}) 214 215 array-ERR1 : array.cfa ${CFACCBIN} 216 ${CFACOMPILE_SYNTAX} -DERR1 217 -cp ${test} ${abspath ${@}} 218 219 array-ERR2 : array.cfa ${CFACCBIN} 220 ${CFACOMPILE_SYNTAX} -DERR2 221 -cp ${test} ${abspath ${@}} 222 223 array-ERR3 : array.cfa ${CFACCBIN} 224 ${CFACOMPILE_SYNTAX} -DERR3 225 -cp ${test} ${abspath ${@}} 226 227 alloc-ERROR : alloc.cfa ${CFACCBIN} 228 ${CFACOMPILE_SYNTAX} -DERR1 229 -cp ${test} ${abspath ${@}} 230 231 init1-ERROR : init1.cfa ${CFACCBIN} 232 ${CFACOMPILE_SYNTAX} -DERR1 233 -cp ${test} ${abspath ${@}} 234 235 typedefRedef-ERR1 : typedefRedef.cfa ${CFACCBIN} 236 ${CFACOMPILE_SYNTAX} -DERR1 237 -cp ${test} ${abspath ${@}} 238 239 nested-types-ERR1 : nested-types.cfa ${CFACCBIN} 240 ${CFACOMPILE_SYNTAX} -DERR1 241 -cp ${test} ${abspath ${@}} 242 243 nested-types-ERR2 : nested-types.cfa ${CFACCBIN} 244 ${CFACOMPILE_SYNTAX} -DERR2 245 -cp ${test} ${abspath ${@}} 246 247 raii/memberCtors-ERR1 : raii/memberCtors.cfa ${CFACCBIN} 248 ${CFACOMPILE_SYNTAX} -DERR1 249 -cp ${test} ${abspath ${@}} 250 251 raii/ctor-autogen-ERR1 : raii/ctor-autogen.cfa ${CFACCBIN} 252 ${CFACOMPILE_SYNTAX} -DERR1 253 -cp ${test} ${abspath ${@}} 254 255 raii/dtor-early-exit-ERR1 : raii/dtor-early-exit.cfa ${CFACCBIN} 256 ${CFACOMPILE_SYNTAX} -DERR1 257 -cp ${test} ${abspath ${@}} 258 259 raii/dtor-early-exit-ERR2 : raii/dtor-early-exit.cfa ${CFACCBIN} 260 ${CFACOMPILE_SYNTAX} -DERR2 261 -cp ${test} ${abspath ${@}} 227 262 228 263 # Exception Tests 229 264 # Test with libcfathread; it changes how storage works. 230 265 231 exceptions/%-threads : exceptions/%.cfa $ (CFACCBIN)232 $ (CFACOMPILETEST) -include exceptions/with-threads.hfa -c -o $(abspath ${@}).o233 $ (CFACCLOCAL) $($(shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g')) $(abspath ${@}).o -o $(abspath ${@})266 exceptions/%-threads : exceptions/%.cfa ${CFACCBIN} 267 ${CFACOMPILETEST} -include exceptions/with-threads.hfa -c -o ${abspath ${@}}.o 268 ${CFACCLOCAL} ${${shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g'}} ${abspath ${@}}.o -o ${abspath ${@}} 234 269 235 270 # Linking tests 236 271 # Meta tests to make sure we see linking errors (can't compile with -O2 since it may multiply number of calls) 237 linking/linkerror : linking/linkerror.cfa $ (CFACCBIN)238 $ (CFACOMPILETEST) -O0 -c -o $(abspath ${@}).o239 $ (CFACCLINK) -O0 ${@}.o -o $(abspath ${@})240 rm $ (abspath ${@}).o272 linking/linkerror : linking/linkerror.cfa ${CFACCBIN} 273 ${CFACOMPILETEST} -O0 -c -o ${abspath ${@}}.o 274 ${CFACCLINK} -O0 ${@}.o -o ${abspath ${@}} 275 rm ${abspath ${@}}.o 241 276 242 277 #------------------------------------------------------------------------------ -
tests/PRNG.cfa
r34b4268 r24d6572 1 // -*- Mode: C -*- 2 // 1 // 3 2 // Cforall Version 1.0.0 Copyright (C) 2021 University of Waterloo 4 // 5 // PRNG.c -- 6 // 3 // 4 // PRNG.c -- high-perforamnce pseudo-random numbers 5 // 6 // The contents of this file are covered under the licence agreement in the 7 // file "LICENCE" distributed with Cforall. 8 // 7 9 // Author : Peter A. Buhr 8 10 // Created On : Wed Dec 29 09:38:12 2021 9 11 // Last Modified By : Peter A. Buhr 10 // Last Modified On : T ue Nov 22 22:51:12 202211 // Update Count : 38112 // Last Modified On : Thu May 25 15:39:52 2023 13 // Update Count : 422 12 14 // 13 15 … … 15 17 #include <stdlib.hfa> // PRNG 16 18 #include <clock.hfa> 17 #include <thread.hfa>18 19 #include <limits.hfa> // MAX 19 20 #include <math.hfa> // sqrt 20 21 #include <malloc.h> // malloc_stats 21 22 #include <locale.h> // setlocale 23 #include <thread.hfa> 22 24 #include <mutex_stmt.hfa> 23 25 24 #ifdef __x86_64__ // 64-bit architecture 26 #define xstr(s) str(s) 27 #define str(s) #s 28 29 #if defined( __x86_64__ ) || defined( __aarch64__ ) // 64-bit architecture 25 30 #define PRNG PRNG64 26 31 #else // 32-bit architecture 27 32 #define PRNG PRNG32 28 33 #endif // __x86_64__ 34 35 //#define TIME 29 36 30 37 #ifdef TIME // use -O2 -nodebug … … 38 45 #endif // TIME 39 46 40 void avgstd( unsigned int buckets[] ) {41 unsigned int min = MAX, max = 0;47 static void avgstd( size_t trials, size_t buckets[] ) { 48 size_t min = MAX, max = 0; 42 49 double sum = 0.0, diff; 43 50 for ( i; BUCKETS ) { … … 54 61 } // for 55 62 double std = sqrt( sum / BUCKETS ); 56 mutex( sout ) sout | "trials" | TRIALS| "buckets" | BUCKETS63 mutex( sout ) sout | "trials" | trials | "buckets" | BUCKETS 57 64 | "min" | min | "max" | max 58 65 | "avg" | wd(0,1, avg) | "std" | wd(0,1, std) | "rstd" | wd(0,1, (avg == 0 ? 0.0 : std / avg * 100)) | "%"; … … 60 67 61 68 62 unsigned int seed = 1009;69 size_t seed = 1009; 63 70 64 71 thread T1 {}; 65 72 void main( T1 & ) { 66 unsigned int * buckets = calloc( BUCKETS );// too big for task stack67 for ( TRIALS / 100 ) {73 size_t * buckets = calloc( BUCKETS ); // too big for task stack 74 for ( TRIALS / 50 ) { 68 75 buckets[rand() % BUCKETS] += 1; // concurrent 69 76 } // for 70 avgstd( buckets );77 avgstd( TRIALS / 50, buckets ); 71 78 free( buckets ); 72 79 } // main … … 76 83 PRNG prng; 77 84 if ( seed != 0 ) set_seed( prng, seed ); 78 unsigned int * buckets = calloc( BUCKETS );// too big for task stack85 size_t * buckets = calloc( BUCKETS ); // too big for task stack 79 86 for ( TRIALS ) { 80 87 buckets[prng( prng ) % BUCKETS] += 1; // concurrent 81 88 } // for 82 avgstd( buckets );89 avgstd( TRIALS, buckets ); 83 90 free( buckets ); 84 91 } // main … … 86 93 thread T3 {}; 87 94 void main( T3 & th ) { 88 unsigned int * buckets = calloc( BUCKETS );// too big for task stack89 for ( TRIALS ) {95 size_t * buckets = calloc( BUCKETS ); // too big for task stack 96 for ( TRIALS / 5 ) { 90 97 buckets[prng() % BUCKETS] += 1; // concurrent 91 98 } // for 92 avgstd( buckets );99 avgstd( TRIALS / 5, buckets ); 93 100 free( buckets ); 94 101 } // main … … 96 103 thread T4 {}; 97 104 void main( T4 & th ) { 98 unsigned int * buckets = calloc( BUCKETS );// too big for task stack105 size_t * buckets = calloc( BUCKETS ); // too big for task stack 99 106 for ( TRIALS ) { 100 buckets[prng( th ) % BUCKETS] += 1; // concurrent101 } // for 102 avgstd( buckets );107 buckets[prng( th ) % BUCKETS] += 1; // concurrent 108 } // for 109 avgstd( TRIALS, buckets ); 103 110 free( buckets ); 104 111 } // main … … 108 115 static void dummy( thread$ & th ) __attribute__(( noinline )); 109 116 static void dummy( thread$ & th ) { 110 unsigned int * buckets = (unsigned int *)calloc( BUCKETS, sizeof(unsigned int) ); // too big for task stack111 for ( unsigned int i = 0; i < TRIALS; i += 1 ) {117 size_t * buckets = (size_t *)calloc( BUCKETS, sizeof(size_t) ); // too big for task stack 118 for ( size_t i = 0; i < TRIALS; i += 1 ) { 112 119 buckets[prng( th ) % BUCKETS] += 1; // sequential 113 120 } // for 114 avgstd( buckets );121 avgstd( TRIALS, buckets ); 115 122 free( buckets ); 116 123 } // dummy 117 124 125 118 126 int main() { 119 // causes leaked storage message 120 // setlocale( LC_NUMERIC, getenv( "LANG" ) ); // print digit separator 127 // setlocale( LC_NUMERIC, getenv( "LANG" ) ); // causes leaked storage message 128 129 // only works on the current pthread thread 130 // locale_t loc = newlocale( LC_NUMERIC_MASK, getenv( "LANG" ), (locale_t)0p ); 131 // if ( loc == (locale_t)0p ) abort( "newlocale" ); 132 // uselocale( loc ); 121 133 122 134 enum { TASKS = 4 }; 123 135 Time start; 136 124 137 #ifdef TIME // too slow for test and generates non-repeatable results 125 138 #if 1 126 unsigned int rseed; 139 sout | "glib rand" | nl | nl; 140 141 size_t rseed; 127 142 if ( seed != 0 ) rseed = seed; 128 143 else rseed = rdtscl(); … … 130 145 131 146 sout | sepDisable; 132 sout | wd(13, "rand()" ) | wd(10, "rand(5)") | wd(13, "rand(0,5)" );133 for ( 20 ) { 134 sout | wd( 13, rand()) | nonl;135 sout | wd(1 0, rand() % 5) | nonl;136 sout | wd(1 3, rand() % (5 - 0 + 1) + 0);147 sout | nl | wd(26, "rand()" ) | wd(12, "rand(5)") | wd(12, "rand(0,5)" ); 148 for ( 20 ) { 149 sout | wd(26, rand()) | nonl; 150 sout | wd(12, rand() % 5) | nonl; 151 sout | wd(12, rand() % (5 - 0 + 1) + 0); 137 152 } // for 138 153 sout | sepEnable; … … 142 157 STARTTIME; 143 158 { 144 unsigned int * buckets = calloc( BUCKETS );// too big for task stack145 for ( i; TRIALS / 10) {159 size_t * buckets = calloc( BUCKETS ); // too big for task stack 160 for ( i; TRIALS / 5 ) { 146 161 buckets[rand() % BUCKETS] += 1; // sequential 147 162 } // for 148 avgstd( buckets );163 avgstd( TRIALS / 5, buckets ); 149 164 free( buckets ); 150 165 } 151 ENDTIME( " x 10" );166 ENDTIME( " x 5 " ); 152 167 153 168 sout | nl | "Concurrent"; … … 159 174 } // wait for threads to complete 160 175 } 161 ENDTIME( " x 100 " );176 ENDTIME( " x 50 " ); 162 177 #endif // 0 163 178 #endif // TIME 179 180 sout | nl | "CFA " xstr(PRNG_NAME); 181 164 182 #if 1 165 183 PRNG prng; … … 168 186 169 187 sout | sepDisable; 170 sout | nl | wd( 13, "PRNG()" ) | wd(10, "PRNG(5)") | wd(13, "PRNG(0,5)" );171 for ( 20 ) { 172 sout | wd( 13, prng( prng )) | nonl; // cascading => side-effect functions called in arbitary order173 sout | wd(1 0, prng( prng, 5 )) | nonl;174 sout | wd(1 3, prng( prng, 0, 5 ));188 sout | nl | wd(26, "PRNG()" ) | wd(12, "PRNG(5)") | wd(12, "PRNG(0,5)" ); 189 for ( 20 ) { 190 sout | wd(26, prng( prng )) | nonl; // cascading => side-effect functions called in arbitary order 191 sout | wd(12, prng( prng, 5 )) | nonl; 192 sout | wd(12, prng( prng, 0, 5 )); 175 193 } // for 176 194 sout | sepEnable; … … 180 198 STARTTIME; 181 199 { 182 unsigned int * buckets = calloc( BUCKETS );// too big for task stack200 size_t * buckets = calloc( BUCKETS ); // too big for task stack 183 201 for ( TRIALS ) { 184 202 buckets[prng( prng ) % BUCKETS] += 1; // sequential 185 203 } // for 186 avgstd( buckets );204 avgstd( TRIALS, buckets ); 187 205 free( buckets ); 188 206 } … … 203 221 204 222 sout | sepDisable; 205 sout | nl | wd( 13, "prng()" ) | wd(10, "prng(5)") | wd(13, "prng(0,5)" );206 for ( 20 ) { 207 sout | wd( 13, prng()) | nonl; // cascading => side-effect functions called in arbitary order208 sout | wd(1 0, prng( 5 )) | nonl;209 sout | wd(1 3, prng( 0, 5 ));223 sout | nl | wd(26, "prng()" ) | wd(12, "prng(5)") | wd(12, "prng(0,5)" ); 224 for ( 20 ) { 225 sout | wd(26, prng()) | nonl; // cascading => side-effect functions called in arbitary order 226 sout | wd(12, prng( 5 )) | nonl; 227 sout | wd(12, prng( 0, 5 )); 210 228 } // for 211 229 sout | sepEnable; … … 215 233 STARTTIME; 216 234 { 217 unsigned int * buckets = calloc( BUCKETS );// too big for task stack218 for ( TRIALS ) {235 size_t * buckets = calloc( BUCKETS ); // too big for task stack 236 for ( TRIALS / 5 ) { 219 237 buckets[prng() % BUCKETS] += 1; 220 238 } // for 221 avgstd( buckets );239 avgstd( TRIALS / 5, buckets ); 222 240 free( buckets ); 223 241 } 224 ENDTIME( );242 ENDTIME( " x 5 " ); 225 243 226 244 sout | nl | "Concurrent"; … … 232 250 } // wait for threads to complete 233 251 } 234 ENDTIME( );252 ENDTIME( " x 5 " ); 235 253 #endif // 0 236 254 #if 1 … … 239 257 240 258 sout | sepDisable; 241 sout | nl | wd( 13, "prng(t)" ) | wd(10, "prng(t,5)") | wd(13, "prng(t,0,5)" );242 for ( 20 ) { 243 sout | wd( 13, prng( th )) | nonl; // cascading => side-effect functions called in arbitary order244 sout | wd(1 0, prng( th, 5 )) | nonl;245 sout | wd(1 3, prng( th, 0, 5 ));259 sout | nl | wd(26, "prng(t)" ) | wd(12, "prng(t,5)") | wd(12, "prng(t,0,5)" ); 260 for ( 20 ) { 261 sout | wd(26, prng( th )) | nonl; // cascading => side-effect functions called in arbitary order 262 sout | wd(12, prng( th, 5 )) | nonl; 263 sout | wd(12, prng( th, 0, 5 )); 246 264 } // for 247 265 sout | sepEnable; … … 266 284 #endif // 0 267 285 // malloc_stats(); 286 // freelocale( loc ); 268 287 } // main 269 288 -
tests/array.cfa
r34b4268 r24d6572 15 15 // 16 16 17 int a1[0]; 18 // int a2[*];19 // double a4[3.0];17 // Tests syntax. Comments explain semantics. Test does not show semantics. 18 // Mostly illustrates facts about C (with which CFA is being tested to agree). 19 // Is a test oracle under `gcc -x c`. 20 20 21 int m1[0][3]; 22 //int m2[*][*]; 23 int m4[3][3]; 21 #ifdef ERR1 22 #define E1(...) __VA_ARGS__ 23 #else 24 #define E1(...) 25 #endif 24 26 25 typedef int T; 27 #ifdef ERR2 28 #define E2(...) __VA_ARGS__ 29 #else 30 #define E2(...) 31 #endif 26 32 27 int fred() { 28 // int a1[]; 29 // int a2[*]; 30 int a4[3]; 31 int T[3]; 32 } 33 #ifdef ERR3 34 #define E3(...) __VA_ARGS__ 35 #else 36 #define E3(...) 37 #endif 33 38 34 int mary( int T[3], 35 int p1[const 3], 36 int p2[static 3], 37 int p3[static const 3] 38 ) { 39 } 39 int a1[0]; 40 E1( int a2[*]; ) 41 #ifndef __cforall 42 E1( double a4[3.0]; ) // BUG 275: CFA accepts but should reject 43 #endif 40 44 41 int (*tom())[3] { 42 } 45 int m1[0][3]; 46 E1( int m2[*][*]; ) 47 int m4[3][3]; 43 48 44 int (*(jane)())( int T[3], 45 int p1[const 3], 46 int p2[static 3], 47 int p3[static const 3] 48 ) { 49 } 49 typedef int T; 50 51 int fred(int n) { 52 E1( int a1[]; ) 53 E1( int a2[*]; ) 54 int a4[3]; 55 int T[3]; 56 int a5[n]; 57 } 58 59 int mary( int T[3], // same as: int *T 60 int p1[const 3], // same as: int const *p1 61 int p2[static 3], // same as T, but length >=3 checked 62 int p3[static const 3] // both above: 3 is static, p3 is const 63 ) { 64 } 65 66 // function taking (), returning pointer to array of ints 67 int (*tom())[3] { 68 } 69 70 // function taking (), returning pointer to function of same type as mary 71 int (*(jane)())( int T[3], 72 int p1[const 3], 73 int p2[static 3], 74 int p3[static const 3] 75 ) { 76 } 77 78 // functions returning same exotic pointers, in CFA's non-onion syntax 79 #ifdef __cforall 80 [ * [3] int ] toms_twin(...) { 81 } 82 [ * [int]( [3] int T, 83 [const 3] int p1, 84 [static 3] int p2, 85 [static const 3] int p3 86 ) 87 ] janes_twin(...) { 88 } 89 #endif 90 91 // GCC 11+ gives a false warning (-Wvla-parameter) on the valid (C11 ARM p134-135) combination: 92 // declare with type int[*], define with type int[n]. 93 // https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100420 suggests the internal representation of 94 // of a[*] is the same as a[0]. 95 // https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wno-vla-parameter explains 96 // the purpose of -Wvla-parameter is to report conflicts between int[] and int[n], which would 97 // understandably also include those between int[42] and int[n]. 98 // https://stackoverflow.com/questions/17371645/why-use-an-asterisk-instead-of-an-integer-for-a-vla-array-parameter-of-a-f 99 // explains the declare-*, define-n pattern. 100 101 // To work around the false warning, and keep to this test's purpose of exercising CFA's 102 // handling of exotic C array syntax, what would ideally be demonstrated as a declaration of 103 // fm1, followed by its definition, is instead split into fm1x and fm1y. And similarly for 104 // fm5. 105 106 int fm1x( int, int, int[][*] ); 107 int fm1y( int r, int c, int m[][c] ) {} 108 int fm2( int r, int c, int (*m)[c] ) {} // same as fm1 109 E2( int fm3( int r, int c, int m[][static c] ) {} ) // that's not static 110 E3( int fm4( int r, int c, int m[][] ); ) // m's immediate element type is incomplete 111 int fm5x( int, int, int[*][*] ); // same as fm1 decl 112 #ifndef __cforall 113 int fm5y( int r, int c, int m[r][c] ) {} // BUG 276: CFA chokes but should accept 114 // C: same as fm1 defn 115 #endif 116 50 117 51 118 int main() { 52 #pragma GCC warning " Compiled"// force non-empty .expect file, NO TABS!!!119 #pragma GCC warning "Preprocessor started" // force non-empty .expect file, NO TABS!!! 53 120 } 54 121 -
tests/attributes.cfa
r34b4268 r24d6572 10 10 // Created On : Mon Feb 6 16:07:02 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Mar 15 13:53:31 202113 // Update Count : 3 812 // Last Modified On : Thu Feb 23 20:33:07 2023 13 // Update Count : 39 14 14 // 15 15 … … 22 22 23 23 // aggregate_name 24 st ruct __attribute__(( unused )) {} Dummy;24 static struct __attribute__(( unused )) {} Dummy; 25 25 struct __attribute__(( unused )) Agn1; 26 26 struct __attribute__(( unused )) Agn2 {}; -
tests/avltree/avl.h
r34b4268 r24d6572 9 9 // #include <lib.h> 10 10 11 trait Comparable(T) { 11 forall(T) 12 trait Comparable { 12 13 int ?<?(T, T); 13 14 }; -
tests/collections/vector-demo.cfa
r34b4268 r24d6572 143 143 assert( v`capacity > 5 && v`length == 5 ); 144 144 145 v[2] = -0.1 ; // v is [0.0, 98.6, -0.1, 0.2, 0.3]; iter at -0.1, where only the new memory had that change145 v[2] = -0.1f; // v is [0.0, 98.6, -0.1, 0.2, 0.3]; iter at -0.1, where only the new memory had that change 146 146 147 147 float val3 = iter`val; -
tests/concurrency/.expect/ctor-check.txt
r34b4268 r24d6572 1 concurren t/ctor-check.cfa:11:1 error: constructors cannot have mutex parameters1 concurrency/ctor-check.cfa:11:1 error: constructors cannot have mutex parameters 2 2 ?{}: function 3 3 ... with parameters -
tests/concurrency/barrier/gen_generation_expect.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gen_generation_expect.cfa -- simple 'script' generates the expect file for concurren t/barrier/generation7 // gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrency/barrier/generation 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/barrier/generation.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/barrier/generation.cfa -- simple test that validates barriers by printing 8 // alphabetical generations 7 // generation.cfa -- simple test that validates barriers by printing alphabetical generations 9 8 // 10 9 // Author : Thierry Delisle -
tests/concurrency/barrier/last.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/barrier/last.cfa -- validates barrier's last hook functionality7 // last.cfa -- validates barrier's last hook functionality 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/barrier/order.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/barrier/order.cfa -- validates barriers the return value of7 // order.cfa -- validates barriers the return value of 8 8 // barrier block 9 9 // -
tests/concurrency/futures/typed.cfa
r34b4268 r24d6572 5 5 thread Server { 6 6 int cnt; 7 future(int) * requests[NFUTURES];7 single_future(int) * requests[NFUTURES]; 8 8 }; 9 9 … … 24 24 void process( Server & this, int i ) { 25 25 if( this.requests[i] == 0p ) return; 26 future(int) * f = this.requests[i];26 single_future(int) * f = this.requests[i]; 27 27 this.requests[i] = 0p; 28 28 this.cnt--; … … 30 30 } 31 31 32 void call( Server & mutex this, future(int) & f ) {32 void call( Server & mutex this, single_future(int) & f ) { 33 33 for(i; NFUTURES) { 34 34 if( this.requests[i] == 0p ) { … … 70 70 71 71 void work(void) { 72 future(int) mine;72 single_future(int) mine; 73 73 call( *the_server, mine ); 74 74 wait( mine ); -
tests/concurrency/mutexstmt/locks.cfa
r34b4268 r24d6572 72 72 73 73 single_acquisition_lock l1; 74 linear_backoff_then_block_lock l2;74 exp_backoff_then_block_lock l2; 75 75 owner_lock l3; 76 76 -
tests/concurrency/pthread/bounded_buffer.cfa
r34b4268 r24d6572 63 63 64 64 void *producer( void *arg ) { 65 66 const int NoOfItems = rand() % 40;65 Buffer(int) &buf = *(Buffer(int)*)arg; 66 const int NoOfItems = prng(*active_thread(), 40); 67 67 int item; 68 68 for ( int i = 1; i <= NoOfItems; i += 1 ) { // produce a bunch of items 69 item = rand() % 100 + 1;// produce a random number69 item = prng(*active_thread(), 1, 101); // produce a random number 70 70 //sout | "Producer:" | pthread_self() | " value:" | item; 71 71 insert( buf,item ); // insert element into queue … … 101 101 pthread_mutex_init(&consumer_cnt_lock, NULL); 102 102 // parallelism 103 s random( 1003 );103 set_seed( 1003 ); 104 104 105 105 processor p[5]; -
tests/concurrency/readyQ/barrier_sleeper.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/readyQ/barrier_sleeper.cfa -- testing the ready-queue7 // barrier_sleeper.cfa -- testing the ready-queue 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/readyQ/leader_spin.cfa
r34b4268 r24d6572 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/readyQ/leader_spin.cfa -- validates ready queue fairness7 // leader_spin.cfa -- validates ready queue fairness 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/signal/disjoint.cfa
r34b4268 r24d6572 38 38 39 39 // Use a global struct because the order needs to match with Signaller thread 40 st ruct {40 static struct { 41 41 global_t mut; 42 42 global_data_t data; -
tests/concurrency/unified_locking/exp_backoff.cfa
r34b4268 r24d6572 1 1 #include <locks.hfa> 2 2 3 #define LOCK clh_lock3 #define LOCK exp_backoff_then_block_lock 4 4 #include "mutex_test.hfa" 5 5 -
tests/concurrency/unified_locking/locks.cfa
r34b4268 r24d6572 15 15 condition_variable( owner_lock ) c_o; 16 16 17 linear_backoff_then_block_lock l;18 condition_variable( linear_backoff_then_block_lock ) c_l;17 exp_backoff_then_block_lock l; 18 condition_variable( exp_backoff_then_block_lock ) c_l; 19 19 20 20 fast_block_lock f; -
tests/concurrency/unified_locking/thread_test.cfa
r34b4268 r24d6572 25 25 26 26 thread worker { 27 linear_backoff_then_block_lock * locks;27 exp_backoff_then_block_lock * locks; 28 28 bool improved; 29 29 }; 30 30 31 void ?{}( worker & w, linear_backoff_then_block_lock * locks, bool improved ) {31 void ?{}( worker & w, exp_backoff_then_block_lock * locks, bool improved ) { 32 32 w.locks = locks; 33 33 w.improved = improved; … … 39 39 for (int i = 0; i < workBufferSize; i += 1) buffer[i] = rand() % 1024; 40 40 unsigned int lck = rand() % lockCount; 41 linear_backoff_then_block_lock * curr_lock = &locks[lck];41 exp_backoff_then_block_lock * curr_lock = &locks[lck]; 42 42 for (unsigned int i = 0; i < num_times; i++) { 43 43 dowork(buffer, work_unlocked); … … 51 51 } 52 52 53 53 int doOne = 0; 54 54 int main(int argc, char* argv[]) { 55 55 switch (argc) { 56 case 8: 57 doOne = atoi(argv[7]); 56 58 case 7: 57 work_unlocked = atoi(argv[ 5]);59 work_unlocked = atoi(argv[6]); 58 60 case 6: 59 61 work_locked = atoi(argv[5]); 60 62 case 5: 61 num_times = atoi(argv[4]);63 total_times = atoi(argv[4]); 62 64 case 4: 63 65 lockCount = atoi(argv[3]); … … 72 74 } 73 75 processor p[threadCount]; 74 linear_backoff_then_block_lock locks[lockCount];76 exp_backoff_then_block_lock locks[lockCount]; 75 77 worker * worker_arr[taskCount]; 76 78 num_times = total_times / taskCount; 77 78 //printf("Start Test: martin lock simple\n"); 79 clock_t begin = clock(); 79 //printf("%d\n", doOne); 80 // 81 //clock_t begin = clock(); 82 if (doOne == 1) { 83 printf("Start Test: martin lock simple %d\n", num_times); 80 84 for (unsigned int i = 0; i < taskCount; i++) { 81 85 worker_arr[i] = new( locks, false ); … … 84 88 delete( worker_arr[i] ); 85 89 } 86 clock_t end = clock(); 87 double time_spent = (double)(end - begin) / CLOCKS_PER_SEC; 88 printf("norm: %f\n", time_spent); 90 } 91 //clock_t end = clock(); 92 //double time_spent = (double)(end - begin) / CLOCKS_PER_SEC; 93 //printf("norm: %f\n", time_spent); 89 94 90 95 //printf("Start Test: martin lock improved\n"); 91 begin = clock(); 96 //begin = clock(); 97 if (doOne == 2) { 92 98 for (unsigned int i = 0; i < taskCount; i++) { 93 99 worker_arr[i] = new( locks, true ); … … 96 102 delete( worker_arr[i] ); 97 103 } 98 end = clock(); 99 time_spent = (double)(end - begin) / CLOCKS_PER_SEC; 100 printf("improved: %f\n", time_spent); 104 } 105 //end = clock(); 106 //time_spent = (double)(end - begin) / CLOCKS_PER_SEC; 107 //printf("improved: %f\n", time_spent); 101 108 } -
tests/declarationSpecifier.cfa
r34b4268 r24d6572 10 10 // Created On : Wed Aug 17 08:21:04 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Apr 30 18:20:36 201913 // Update Count : 412 // Last Modified On : Thu Feb 23 20:53:31 2023 13 // Update Count : 8 14 14 // 15 15 … … 25 25 short int volatile static const x8; 26 26 27 const volatile struct { int i; } x10; 28 const struct { int i; } volatile x11; 29 struct { int i; } const volatile x12; 30 static const volatile struct { int i; } x13; 31 const static struct { int i; } volatile x14; 32 struct { int i; } static const volatile x15; 33 struct { int i; } const static volatile x16; 34 struct { int i; } const volatile static x17; 27 static const volatile struct { int i; } x10; 28 static const struct { int i; } volatile x11; 29 static struct { int i; } const volatile x12; 30 const static struct { int i; } volatile x13; 31 struct { int i; } static const volatile x14; 32 struct { int i; } const static volatile x15; 33 struct { int i; } const volatile static x16; 35 34 36 35 const Int volatile x20; … … 43 42 Int volatile static const x27; 44 43 45 const volatile struct { Int i; } x29; 46 const struct { Int i; } volatile x30; 47 struct { Int i; } const volatile x31; 48 static const volatile struct { Int i; } x32; 49 const static struct { Int i; } volatile x33; 50 struct { Int i; } static const volatile x34; 51 struct { Int i; } const static volatile x35; 52 struct { Int i; } const volatile static x36; 44 static const volatile struct { Int i; } x29; 45 static const struct { Int i; } volatile x30; 46 static struct { Int i; } const volatile x31; 47 const static struct { Int i; } volatile x32; 48 struct { Int i; } static const volatile x33; 49 struct { Int i; } const static volatile x34; 50 struct { Int i; } const volatile static x35; 53 51 54 52 _Thread_local int x37; -
tests/enum_tests/.expect/typedIntEnum.txt
r34b4268 r24d6572 1 0 2 1 3 1000 4 1001 5 2000 6 2001 7 2002 1 0=0 2 1=1 3 1000=1000 4 1001=1001 5 2000=2000 6 2001=2001 7 2002=2002 -
tests/enum_tests/pointerEnum.cfa
r34b4268 r24d6572 11 11 int main() { 12 12 E * v = First; 13 sout | "v: " | e.x;13 // sout | "v: " | e.x; 14 14 } -
tests/enum_tests/typedIntEnum.cfa
r34b4268 r24d6572 12 12 13 13 int main() { 14 printf(" %d\n", zero);15 printf(" %d\n", one);16 printf(" %d\n", thousand);17 printf(" %d\n", thousand_one);18 printf(" %d\n", two_thousand);19 printf(" %d\n", two_thousand_one);20 printf(" %d\n", two_thousand_two);14 printf("0=%d\n", zero); 15 printf("1=%d\n", one); 16 printf("1000=%d\n", thousand); 17 printf("1001=%d\n", thousand_one); 18 printf("2000=%d\n", two_thousand); 19 printf("2001=%d\n", two_thousand_one); 20 printf("2002=%d\n", two_thousand_two); 21 21 return 0; 22 22 } -
tests/errors/.expect/declaration.txt
r34b4268 r24d6572 1 errors/declaration.cfa:16:1 error: duplicate static in declaration of x1: static const volatile short int1 errors/declaration.cfa:16:1 error: duplicate static storage class(es) in declaration of x1: static const volatile short int 2 2 3 errors/declaration.cfa:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int3 errors/declaration.cfa:17:1 error: conflicting extern & static storage classes in declaration of x2: extern const volatile short int 4 4 5 errors/declaration.cfa:18:1 error: conflicting extern & auto , conflicting extern & static, conflicting extern & static, duplicate externin declaration of x3: extern const volatile short int5 errors/declaration.cfa:18:1 error: conflicting extern & auto storage classes, conflicting extern & static storage classes, conflicting extern & static storage classes, duplicate extern storage class(es) in declaration of x3: extern const volatile short int 6 6 7 errors/declaration.cfa:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous07 errors/declaration.cfa:19:1 error: duplicate static storage class(es) in declaration of x4: static const volatile instance of const volatile struct __anonymous0 8 8 with members 9 9 i: int … … 11 11 12 12 13 errors/declaration.cfa:20:1 error: duplicate const , duplicate static, duplicate volatilein declaration of x5: static const volatile instance of const volatile struct __anonymous113 errors/declaration.cfa:20:1 error: duplicate const qualifier(s), duplicate static storage class(es), duplicate volatile qualifier(s) in declaration of x5: static const volatile instance of const volatile struct __anonymous1 14 14 with members 15 15 i: int … … 17 17 18 18 19 errors/declaration.cfa:22:1 error: duplicate static in declaration of x6: static const volatile Int19 errors/declaration.cfa:22:1 error: duplicate static storage class(es) in declaration of x6: static const volatile Int 20 20 21 errors/declaration.cfa:24:1 error: duplicate const in declaration of f01: static inline function21 errors/declaration.cfa:24:1 error: duplicate const qualifier(s) in declaration of f01: static inline function 22 22 with no parameters 23 23 returning const volatile int 24 24 25 25 26 errors/declaration.cfa:25:1 error: duplicate volatile in declaration of f02: static inline function26 errors/declaration.cfa:25:1 error: duplicate volatile qualifier(s) in declaration of f02: static inline function 27 27 with no parameters 28 28 returning const volatile int 29 29 30 30 31 errors/declaration.cfa:26:1 error: duplicate const in declaration of f03: static inline function31 errors/declaration.cfa:26:1 error: duplicate const qualifier(s) in declaration of f03: static inline function 32 32 with no parameters 33 33 returning const volatile int 34 34 35 35 36 errors/declaration.cfa:27:1 error: duplicate volatile in declaration of f04: static inline function36 errors/declaration.cfa:27:1 error: duplicate volatile qualifier(s) in declaration of f04: static inline function 37 37 with no parameters 38 38 returning const volatile int 39 39 40 40 41 errors/declaration.cfa:28:1 error: duplicate const in declaration of f05: static inline function41 errors/declaration.cfa:28:1 error: duplicate const qualifier(s) in declaration of f05: static inline function 42 42 with no parameters 43 43 returning const volatile int 44 44 45 45 46 errors/declaration.cfa:29:1 error: duplicate volatile in declaration of f06: static inline function46 errors/declaration.cfa:29:1 error: duplicate volatile qualifier(s) in declaration of f06: static inline function 47 47 with no parameters 48 48 returning const volatile int 49 49 50 50 51 errors/declaration.cfa:30:1 error: duplicate const in declaration of f07: static inline function51 errors/declaration.cfa:30:1 error: duplicate const qualifier(s) in declaration of f07: static inline function 52 52 with no parameters 53 53 returning const volatile int 54 54 55 55 56 errors/declaration.cfa:31:1 error: duplicate const , duplicate volatilein declaration of f08: static inline function56 errors/declaration.cfa:31:1 error: duplicate const volatile qualifier(s) in declaration of f08: static inline function 57 57 with no parameters 58 58 returning const volatile int 59 59 60 60 61 errors/declaration.cfa:33:1 error: duplicate const , duplicate volatilein declaration of f09: static inline function61 errors/declaration.cfa:33:1 error: duplicate const volatile qualifier(s) in declaration of f09: static inline function 62 62 with no parameters 63 63 returning const volatile int 64 64 65 65 66 errors/declaration.cfa:34:1 error: duplicate const , duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatilein declaration of f09: static inline function66 errors/declaration.cfa:34:1 error: duplicate const qualifier(s), duplicate _Atomic qualifier(s), duplicate _Atomic qualifier(s), duplicate const restrict volatile qualifier(s) in declaration of f09: static inline function 67 67 with no parameters 68 68 returning const restrict volatile _Atomic int -
tests/forall.cfa
r34b4268 r24d6572 10 10 // Created On : Wed May 9 08:48:15 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 5 10:06:08 2021 13 // Update Count : 36 14 // 12 // Last Modified On : Thu Feb 23 20:29:59 2023 13 // Update Count : 91 14 // 15 16 #include <fstream.hfa> 15 17 16 18 void g1() { 17 forall( T ) T f( T ) {}; 18 void f( int ) {}; 19 void h( void (*p)(void) ) {}; 20 21 int x; 22 void (*y)(void); 23 char z; 24 float w; 19 forall( T ) T f( T p ) { sout | 'f'; return p; }; 20 void f( int p ) { sout | p; }; 21 void g( void ) { sout | 'g'; }; 22 void h( void (*p)(void) ) { p(); }; 23 24 int x = 1; 25 void (*y)(void) = g; 26 char z = 'a'; 27 float w = 3.5; 25 28 26 29 f( x ); … … 28 31 f( z ); 29 32 f( w ); 33 h( y ); 34 f( y ); 30 35 h( f( y ) ); 31 36 } 32 37 33 38 void g2() { 34 forall( T ) void f( T, T ) { }35 forall( T, U ) void f( T, U ) { }39 forall( T ) void f( T, T ) { sout | "fT"; } 40 forall( T, U ) void f( T, U ) { sout | "fTU"; } 36 41 37 42 int x; 38 43 float y; 39 int *z; 40 float *w; 41 44 int * z; 45 float * w; 46 47 f( x, x ); 48 f( y, y ); 49 f( w, w ); 42 50 f( x, y ); 43 51 f( z, w ); … … 50 58 51 59 forall( T ) 52 void swap( T left, T right ) { 53 T temp = left; 54 left = right; 55 right = temp; 56 } 57 58 trait sumable( T ) { 60 void swap( T & left, T & right ) { // by reference 61 T temp = left; 62 left = right; 63 right = temp; 64 } 65 66 forall( T ) 67 [ T, T ] swap( T i, T j ) { // by value 68 return [ j, i ]; 69 } 70 71 forall( T ) trait sumable { 59 72 void ?{}( T &, zero_t ); // 0 literal constructor 60 73 T ?+?( T, T ); // assortment of additions … … 64 77 }; // sumable 65 78 66 forall( T | sumable( T ) ) // use trait79 forall( T | sumable( T ) ) // use trait 67 80 T sum( size_t size, T a[] ) { 68 81 T total = 0; // initialize by 0 constructor … … 72 85 } // sum 73 86 74 forall( T | { T ?+?( T, T ); T ?++( T & ); [T] ?+=?( T &, T ); } )87 forall( T | { T ?+?( T, T ); T ?++( T & ); [T] ?+=?( T &, T ); } ) 75 88 T twice( T t ) { 76 89 return t + t; … … 82 95 } 83 96 84 intfred() {85 int x = 1, y = 2, a[10] ;97 void fred() { 98 int x = 1, y = 2, a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 86 99 float f; 87 100 101 sout | x | y; 88 102 swap( x, y ); 89 twice( x ); 103 sout | x | y | nl | swap( x, y ); 104 // [ x, y ] = swap( y, x ); 105 sout | twice( ' ' ) | ' ' | twice( 0hh ) | twice( 1h ) | twice( 0n ) | twice( 2 ) 106 | twice( 3.2f ) | twice( 3.2 ) | twice( 3.2d ) | twice( 3.2+1.5i ) | twice( x ); 90 107 f = min( 4.0, 3.0 ); 91 sum( 10, a ); 108 sout | f | min( 4.0, 3.0 ); 109 sout | sum( 10, a ); 92 110 } 93 111 … … 177 195 178 196 forall( T ) struct S { T t; } (int) x, y, z; 179 forall( T ) struct { T t; } (int) a, b, c;197 static forall( T ) struct { T t; } (int) a, b, c; 180 198 181 199 forall( T ) static forall( S ) { … … 186 204 187 205 forall( T ) { 188 extern "C" {206 // extern "C" { 189 207 struct SS { T t; }; 190 T foo( T ) {}191 }208 T foo( T p ) { return p; } 209 // } 192 210 } 193 211 … … 195 213 W(int,int) w; 196 214 197 intjane() {215 void jane() { 198 216 // int j = bar( 3, 4 ); 199 217 int k = baz( 3, 4, 5 ); 200 218 int i = foo( 3 ); 219 sout | k | i; 201 220 } 202 221 … … 211 230 T t; 212 231 T t2 = t; 232 sout | &tr | tp; 213 233 } 214 234 … … 242 262 243 263 int main( void ) { 244 #pragma GCC warning "Compiled" // force non-empty .expect file, NO TABS!!! 264 g1(); 265 g2(); 266 fred(); 267 jane(); 245 268 } 246 269 -
tests/function-operator.cfa
r34b4268 r24d6572 10 10 // Created On : Fri Aug 25 15:21:11 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Apr 11 18:27:45 201913 // Update Count : 1 012 // Last Modified On : Sat Feb 25 07:26:10 2023 13 // Update Count : 12 14 14 // 15 15 … … 22 22 23 23 // STL-like Algorithms 24 trait Assignable(T &, U &) { T ?=?(T &, U); }; 25 trait Copyable(T &) { void ?{}(T &, T); }; 26 trait Destructable(T &) { void ^?{}(T &); }; 24 forall(T &, U &) 25 trait Assignable { T ?=?(T &, U); }; 26 forall(T &) 27 trait Copyable { void ?{}(T &, T); }; 28 forall(T &) 29 trait Destructable { void ^?{}(T &); }; 27 30 28 31 trait Iterator(iter & | sized(iter) | Copyable(iter) | Destructable(iter), T) { -
tests/include/includes.cfa
r34b4268 r24d6572 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 22 08:27:20 202213 // Update Count : 77912 // Last Modified On : Wed Feb 22 10:16:58 2023 13 // Update Count : 811 14 14 // 15 15 … … 72 72 #include <gshadow.h> 73 73 #include <iconv.h> 74 #include <ifaddrs.h> 74 //#include <ifaddrs.h> // causes warning messages that break the build 75 75 #include <inttypes.h> 76 76 #include <langinfo.h> … … 97 97 #include <ncurses_dll.h> // may not be installed, comes with ncurses 98 98 #endif 99 #include <netdb.h>99 //#include <netdb.h> 100 100 #include <nl_types.h> 101 101 #include <nss.h> … … 111 111 #include <pwd.h> 112 112 #include <regex.h> 113 #include <resolv.h>113 //#include <resolv.h> 114 114 #include <re_comp.h> 115 115 #include <sched.h> … … 170 170 #endif // __CFA__ 171 171 172 int main( int argc, char const * argv[]) {172 int main() { 173 173 #pragma GCC warning "Compiled" // force non-empty .expect file, NO TABS!!! 174 174 } -
tests/io/comp_basic.cfa
r34b4268 r24d6572 26 26 #include <unistd.h> 27 27 28 st ruct {28 static struct { 29 29 barrier & bar; 30 30 int pipe[2]; 31 32 31 } globals; 33 32 -
tests/io/comp_fair.cfa
r34b4268 r24d6572 26 26 #include <unistd.h> 27 27 28 st ruct {28 static struct { 29 29 barrier & bar; 30 30 int pipe[2]; 31 32 31 } globals; 33 32 -
tests/linking/mangling/header.hfa
r34b4268 r24d6572 8 8 extern name_but_a_typedefed_t a_typedefed_global; 9 9 10 extern struct /* anonymous */ { 11 int some_int; 12 int some_other_int; 13 } a_global_with_no_type; 10 // Must be extern C to prevent name mangling. 11 extern "C" { 12 extern struct /* anonymous */ { 13 int some_int; 14 int some_other_int; 15 } a_global_with_no_type; 16 } -
tests/linking/mangling/lib.cfa
r34b4268 r24d6572 3 3 name_but_a_typedefed_t a_typedefed_global; 4 4 5 struct { 6 int some_int; 7 int some_other_int; 8 } a_global_with_no_type; 5 // Must be extern C to prevent name mangling. 6 extern "C" { 7 // This declaration is necessary to create an instance of a_global_with_no_type. 8 // typeof is a trick to get a_global_with_no_type's type because its type is anonymous. 9 // Otherwise C generates conflicting types for a_global_with_no_type in .h and .c 10 // because C uses name equivalence and the two anonymous types cannot have the same name. 11 typeof(a_global_with_no_type) a_global_with_no_type; 12 } -
tests/linking/mangling/main.cfa
r34b4268 r24d6572 1 1 #include <fstream.hfa> 2 2 3 st ruct { int a; } test; //purposefully before the include3 static struct { int a; } test; // purposefully before the include to force anonymous name numbering 4 4 5 5 #include "header.hfa" … … 13 13 14 14 sout | "Done!"; 15 16 return 0;17 15 } -
tests/pybin/settings.py
r34b4268 r24d6572 126 126 global archive 127 127 global install 128 global invariant 128 129 129 130 global continue_ … … 140 141 all_install = [Install(o) for o in list(dict.fromkeys(options.install))] 141 142 archive = os.path.abspath(os.path.join(original_path, options.archive_errors)) if options.archive_errors else None 143 invariant = options.invariant 142 144 continue_ = options.continue_ 143 145 dry_run = options.dry_run # must be called before tools.config_hash() -
tests/quotedKeyword.cfa
r34b4268 r24d6572 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Feb 7 19:07:07 202013 // Update Count : 2 512 // Last Modified On : Thu Feb 23 20:31:05 2023 13 // Update Count : 26 14 14 // 15 15 16 16 #include <fstream.hfa> 17 17 18 st ruct {18 static struct { 19 19 int ``otype; 20 20 int ``struct; -
tests/sum.cfa
r34b4268 r24d6572 11 11 // Created On : Wed May 27 17:56:53 2015 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Thu Aug 5 21:27:25 202114 // Update Count : 34 613 // Last Modified On : Fri Feb 24 22:52:12 2023 14 // Update Count : 347 15 15 // 16 16 … … 18 18 #include <stdlib.hfa> 19 19 20 trait sumable( T ) { 20 forall( T ) 21 trait sumable { 21 22 void ?{}( T &, zero_t ); // 0 literal constructor 22 23 void ?{}( T &, one_t ); // 1 literal constructor -
tests/test.py
r34b4268 r24d6572 114 114 parser.add_argument('--install', help='Run all tests based on installed binaries or tree binaries', type=comma_separated(yes_no), default='no') 115 115 parser.add_argument('--continue', help='When multiple specifications are passed (debug/install/arch), sets whether or not to continue if the last specification failed', type=yes_no, default='yes', dest='continue_') 116 parser.add_argument('--invariant', help='Tell the compiler to check invariants while running.', action='store_true') 116 117 parser.add_argument('--timeout', help='Maximum duration in seconds after a single test is considered to have timed out', type=int, default=180) 117 118 parser.add_argument('--global-timeout', help='Maximum cumulative duration in seconds after the ALL tests are considered to have timed out', type=int, default=7200) … … 172 173 test.prepare() 173 174 175 # extra flags for cfa to pass through make. 176 cfa_flags = 'CFAFLAGS=--invariant' if settings.invariant else None 177 174 178 # ---------- 175 179 # MAKE … … 177 181 # build, skipping to next test on error 178 182 with Timed() as comp_dur: 179 make_ret, _, _ = make( test.target(), output_file=subprocess.DEVNULL, error=out_file, error_file = err_file)183 make_ret, _, _ = make(test.target(), flags=cfa_flags, output_file=subprocess.DEVNULL, error=out_file, error_file=err_file) 180 184 181 185 # ----------
Note:
See TracChangeset
for help on using the changeset viewer.