Changes in / [c699602:2e0bb92]


Ignore:
Files:
2 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/future.hfa

    rc699602 r2e0bb92  
    260260                        if( this.has_first != false) abort("Attempting to reset a multi_future with at least one blocked threads");
    261261                        if( !is_empty(this.blocked) ) abort("Attempting to reset a multi_future with multiple blocked threads");
    262                         reset( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) );
     262                        reset( (future_t&)*(&this+sizeof(monitor$)) );
    263263                }
    264264
     
    266266                bool fulfil( multi_future(T) & this, T result ) {
    267267                        this.result = result;
    268                         return fulfil( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) ) != 0p;
     268                        return fulfil( (future_t&)*(&this+sizeof(monitor$)) ) != 0p;
    269269                }
    270270
     
    275275                        bool w = !sw;
    276276                        if ( sw ) {
    277                                 w = wait( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) );
     277                                w = wait( (future_t&)*(&this+sizeof(monitor$)) );
    278278                                $first_done( this );
    279279                        }
  • tests/.expect/attributes.arm64.txt

    rc699602 r2e0bb92  
    1 
    2 #pragma GCC diagnostic ignored "-Wattributes"
    3 ;
    41signed int _X2laFi___1(void){
    52    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    85    }
    96
    10     {
    11         ((void)(_X10_retval_lai_1=1) /* ?{} */);
    12     }
    13 
    14     return _X10_retval_lai_1;
    157}
    168struct __attribute__ ((unused)) __anonymous0 {
     
    11671159__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11681160    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
    1169     {
    1170         ((void)(_X10_retval_f1i_1=1) /* ?{} */);
    1171     }
    1172 
    1173     return _X10_retval_f1i_1;
    11741161}
    11751162__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11761163__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11771164    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
    1178     {
    1179         ((void)((*((signed int ***)(&_X10_retval_f2KPPi_1)))=((void*)((unsigned long int )0))) /* ?{} */);
    1180     }
    1181 
    1182     return _X10_retval_f2KPPi_1;
    11831165}
    11841166__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11861168__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11871169    __attribute__ ((unused)) signed int (*_X10_retval_f5PA0i_1)[];
    1188     {
    1189         ((void)((void)_X1pi_1));
    1190     }
    1191 
    1192     {
    1193         ((void)(_X10_retval_f5PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1194     }
    1195 
    1196     return _X10_retval_f5PA0i_1;
    11971170}
    11981171__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11991172    __attribute__ ((unused)) signed int (*_X10_retval_f6PA0i_1)[];
    1200     {
    1201         ((void)((void)_X1pi_1));
    1202     }
    1203 
    1204     {
    1205         ((void)(_X10_retval_f6PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1206     }
    1207 
    1208     return _X10_retval_f6PA0i_1;
    12091173}
    12101174__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    12111175__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    12121176    __attribute__ ((unused)) signed int (*_X10_retval_f8Fi_i__1)(signed int __param_0);
    1213     {
    1214         ((void)(_X10_retval_f8Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1215     }
    1216 
    1217     return _X10_retval_f8Fi_i__1;
    12181177}
    12191178__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    12201179    __attribute__ ((unused)) signed int (*_X10_retval_f9Fi_i__1)(signed int __param_0);
    1221     {
    1222         ((void)(_X10_retval_f9Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1223     }
    1224 
    1225     return _X10_retval_f9Fi_i__1;
    12261180}
    12271181__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    12281182    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1229     {
    1230         ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1231     }
    1232 
    1233     return _X11_retval_f10Fi_i__1;
    1234 }
    1235 void _X3vtrFv___1(void){
     1183}
     1184signed int _X3vtrFi___1(void){
     1185    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
    12361186    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    12371187    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    12421192    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    12431193}
    1244 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1245 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
    1246 }
    1247 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1248 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1249 }
    1250 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1251 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1252 }
    1253 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1254 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1194signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1195signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1196    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
     1197}
     1198signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1199signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1200    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
     1201}
     1202signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1203signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1204    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
     1205}
     1206signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1207signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1208    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
    12551209}
    12561210signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12611215signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12621216signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1263 void _X2adFv___1(void){
     1217signed int _X2adFi___1(void){
     1218    __attribute__ ((unused)) signed int _X10_retval_adi_1;
    12641219    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12651220    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13641319signed 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));
    13651320struct Vad {
    1366     __attribute__ ((unused)) signed int _X1xi_1;
    13671321    __attribute__ ((unused)) signed int :4;
    13681322    __attribute__ ((unused)) signed int :4;
     
    13701324};
    13711325static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1372     {
    1373         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
    1374     }
    1375 
    13761326}
    13771327static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    1378     {
    1379         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1) /* ?{} */);
    1380     }
    1381 
    13821328}
    13831329static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1384     {
    1385         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
    1386     }
    1387 
    13881330}
    13891331static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13901332    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13911333    {
    1392         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
    1393     }
    1394 
    1395     {
    13961334        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13971335    }
    13981336
    13991337    return _X4_retS3Vad_1;
    1400 }
    1401 static inline void _X12_constructorFv_S3Vadi_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) signed int _X1xi_1){
    1402     {
    1403         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X1xi_1) /* ?{} */);
    1404     }
    1405 
    14061338}
    14071339__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    14241356    }
    14251357
    1426     {
    1427         ((void)abort());
    1428     }
    1429 
    14301358}
    14311359__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1432     struct __attribute__ ((aligned(16))) S {
     1360    struct __attribute__ ((aligned(64))) S {
    14331361        signed int _X1ii_2;
    14341362    };
     
    14871415    }
    14881416
    1489     {
    1490         ((void)abort());
    1491     }
    1492 
    1493 }
     1417}
  • tests/.expect/attributes.x64.txt

    rc699602 r2e0bb92  
    1 
    2 #pragma GCC diagnostic ignored "-Wattributes"
    3 ;
    41signed int _X2laFi___1(void){
    52    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    85    }
    96
    10     {
    11         ((void)(_X10_retval_lai_1=1) /* ?{} */);
    12     }
    13 
    14     return _X10_retval_lai_1;
    157}
    168struct __attribute__ ((unused)) __anonymous0 {
     
    11671159__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11681160    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
    1169     {
    1170         ((void)(_X10_retval_f1i_1=1) /* ?{} */);
    1171     }
    1172 
    1173     return _X10_retval_f1i_1;
    11741161}
    11751162__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11761163__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11771164    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
    1178     {
    1179         ((void)((*((signed int ***)(&_X10_retval_f2KPPi_1)))=((void*)((unsigned long int )0))) /* ?{} */);
    1180     }
    1181 
    1182     return _X10_retval_f2KPPi_1;
    11831165}
    11841166__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11861168__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11871169    __attribute__ ((unused)) signed int (*_X10_retval_f5PA0i_1)[];
    1188     {
    1189         ((void)((void)_X1pi_1));
    1190     }
    1191 
    1192     {
    1193         ((void)(_X10_retval_f5PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1194     }
    1195 
    1196     return _X10_retval_f5PA0i_1;
    11971170}
    11981171__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11991172    __attribute__ ((unused)) signed int (*_X10_retval_f6PA0i_1)[];
    1200     {
    1201         ((void)((void)_X1pi_1));
    1202     }
    1203 
    1204     {
    1205         ((void)(_X10_retval_f6PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1206     }
    1207 
    1208     return _X10_retval_f6PA0i_1;
    12091173}
    12101174__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    12111175__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    12121176    __attribute__ ((unused)) signed int (*_X10_retval_f8Fi_i__1)(signed int __param_0);
    1213     {
    1214         ((void)(_X10_retval_f8Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1215     }
    1216 
    1217     return _X10_retval_f8Fi_i__1;
    12181177}
    12191178__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    12201179    __attribute__ ((unused)) signed int (*_X10_retval_f9Fi_i__1)(signed int __param_0);
    1221     {
    1222         ((void)(_X10_retval_f9Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1223     }
    1224 
    1225     return _X10_retval_f9Fi_i__1;
    12261180}
    12271181__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    12281182    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1229     {
    1230         ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1231     }
    1232 
    1233     return _X11_retval_f10Fi_i__1;
    1234 }
    1235 void _X3vtrFv___1(void){
     1183}
     1184signed int _X3vtrFi___1(void){
     1185    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
    12361186    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    12371187    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    12421192    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    12431193}
    1244 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1245 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
    1246 }
    1247 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1248 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1249 }
    1250 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1251 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1252 }
    1253 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1254 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1194signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1195signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1196    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
     1197}
     1198signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1199signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1200    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
     1201}
     1202signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1203signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1204    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
     1205}
     1206signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1207signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1208    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
    12551209}
    12561210signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12611215signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12621216signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1263 void _X2adFv___1(void){
     1217signed int _X2adFi___1(void){
     1218    __attribute__ ((unused)) signed int _X10_retval_adi_1;
    12641219    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12651220    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13641319signed 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));
    13651320struct Vad {
    1366     __attribute__ ((unused)) signed int _X1xi_1;
    13671321    __attribute__ ((unused)) signed int :4;
    13681322    __attribute__ ((unused)) signed int :4;
     
    13701324};
    13711325static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1372     {
    1373         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
    1374     }
    1375 
    13761326}
    13771327static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    1378     {
    1379         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1) /* ?{} */);
    1380     }
    1381 
    13821328}
    13831329static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1384     {
    1385         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
    1386     }
    1387 
    13881330}
    13891331static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13901332    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13911333    {
    1392         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
    1393     }
    1394 
    1395     {
    13961334        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13971335    }
    13981336
    13991337    return _X4_retS3Vad_1;
    1400 }
    1401 static inline void _X12_constructorFv_S3Vadi_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) signed int _X1xi_1){
    1402     {
    1403         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X1xi_1) /* ?{} */);
    1404     }
    1405 
    14061338}
    14071339__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    14241356    }
    14251357
    1426     {
    1427         ((void)abort());
    1428     }
    1429 
    14301358}
    14311359__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1432     struct __attribute__ ((aligned(16))) S {
     1360    struct __attribute__ ((aligned(64))) S {
    14331361        signed int _X1ii_2;
    14341362    };
     
    14871415    }
    14881416
    1489     {
    1490         ((void)abort());
    1491     }
    1492 
    1493 }
     1417}
  • tests/.expect/attributes.x86.txt

    rc699602 r2e0bb92  
    1 
    2 #pragma GCC diagnostic ignored "-Wattributes"
    3 ;
    41signed int _X2laFi___1(void){
    52    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    85    }
    96
    10     {
    11         ((void)(_X10_retval_lai_1=1) /* ?{} */);
    12     }
    13 
    14     return _X10_retval_lai_1;
    157}
    168struct __attribute__ ((unused)) __anonymous0 {
     
    11671159__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11681160    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
    1169     {
    1170         ((void)(_X10_retval_f1i_1=1) /* ?{} */);
    1171     }
    1172 
    1173     return _X10_retval_f1i_1;
    11741161}
    11751162__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11761163__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11771164    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
    1178     {
    1179         ((void)((*((signed int ***)(&_X10_retval_f2KPPi_1)))=((void*)((unsigned long int )0))) /* ?{} */);
    1180     }
    1181 
    1182     return _X10_retval_f2KPPi_1;
    11831165}
    11841166__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11861168__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11871169    __attribute__ ((unused)) signed int (*_X10_retval_f5PA0i_1)[];
    1188     {
    1189         ((void)((void)_X1pi_1));
    1190     }
    1191 
    1192     {
    1193         ((void)(_X10_retval_f5PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1194     }
    1195 
    1196     return _X10_retval_f5PA0i_1;
    11971170}
    11981171__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11991172    __attribute__ ((unused)) signed int (*_X10_retval_f6PA0i_1)[];
    1200     {
    1201         ((void)((void)_X1pi_1));
    1202     }
    1203 
    1204     {
    1205         ((void)(_X10_retval_f6PA0i_1=((void*)((unsigned long int )0))) /* ?{} */);
    1206     }
    1207 
    1208     return _X10_retval_f6PA0i_1;
    12091173}
    12101174__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    12111175__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    12121176    __attribute__ ((unused)) signed int (*_X10_retval_f8Fi_i__1)(signed int __param_0);
    1213     {
    1214         ((void)(_X10_retval_f8Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1215     }
    1216 
    1217     return _X10_retval_f8Fi_i__1;
    12181177}
    12191178__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    12201179    __attribute__ ((unused)) signed int (*_X10_retval_f9Fi_i__1)(signed int __param_0);
    1221     {
    1222         ((void)(_X10_retval_f9Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1223     }
    1224 
    1225     return _X10_retval_f9Fi_i__1;
    12261180}
    12271181__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    12281182    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1229     {
    1230         ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
    1231     }
    1232 
    1233     return _X11_retval_f10Fi_i__1;
    1234 }
    1235 void _X3vtrFv___1(void){
     1183}
     1184signed int _X3vtrFi___1(void){
     1185    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
    12361186    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    12371187    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    12421192    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    12431193}
    1244 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1245 void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
    1246 }
    1247 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1248 void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1249 }
    1250 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1251 void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
    1252 }
    1253 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1254 void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1194signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1195signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1196    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
     1197}
     1198signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1199signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1200    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
     1201}
     1202signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1203signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1204    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
     1205}
     1206signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1207signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
     1208    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
    12551209}
    12561210signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12611215signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12621216signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1263 void _X2adFv___1(void){
     1217signed int _X2adFi___1(void){
     1218    __attribute__ ((unused)) signed int _X10_retval_adi_1;
    12641219    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12651220    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13641319signed 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));
    13651320struct Vad {
    1366     __attribute__ ((unused)) signed int _X1xi_1;
    13671321    __attribute__ ((unused)) signed int :4;
    13681322    __attribute__ ((unused)) signed int :4;
     
    13701324};
    13711325static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1372     {
    1373         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
    1374     }
    1375 
    13761326}
    13771327static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    1378     {
    1379         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1) /* ?{} */);
    1380     }
    1381 
    13821328}
    13831329static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
    1384     {
    1385         ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
    1386     }
    1387 
    13881330}
    13891331static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13901332    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13911333    {
    1392         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
    1393     }
    1394 
    1395     {
    13961334        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13971335    }
    13981336
    13991337    return _X4_retS3Vad_1;
    1400 }
    1401 static inline void _X12_constructorFv_S3Vadi_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) signed int _X1xi_1){
    1402     {
    1403         ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X1xi_1) /* ?{} */);
    1404     }
    1405 
    14061338}
    14071339__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    14241356    }
    14251357
    1426     {
    1427         ((void)abort());
    1428     }
    1429 
    14301358}
    14311359__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1432     struct __attribute__ ((aligned(16))) S {
     1360    struct __attribute__ ((aligned(64))) S {
    14331361        signed int _X1ii_2;
    14341362    };
     
    14871415    }
    14881416
    1489     {
    1490         ((void)abort());
    1491     }
    1492 
    1493 }
     1417}
  • tests/Makefile.am

    rc699602 r2e0bb92  
    6161# Tests that need investigation from the CFA team about why they require lax wflags.  Goal is to eliminate this list.
    6262WFLGAS_OPT_LAX_TO_INVESTIGATE = \
     63        attributes \
     64        collections/queue \
     65        collections/sequence \
     66        collections/stack \
    6367        collections/vector-demo \
    6468        concurrency/actors/dynamic \
     
    9397        concurrency/waituntil/repeat_close \
    9498        concurrency/waituntil/timeout \
     99        configs/usage \
     100        ctrl-flow/labelledExit \
     101        ctrl-flow/loop_else \
    95102        designations \
    96103        exceptions/cardgame \
  • tests/attributes.cfa

    rc699602 r2e0bb92  
    1 //
     1// 
    22// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
    33//
    44// The contents of this file are covered under the licence agreement in the
    55// file "LICENCE" distributed with Cforall.
    6 //
    7 // attributes.cfa --
    8 //
     6// 
     7// attributes.cfa -- 
     8// 
    99// Author           : Peter A. Buhr
    1010// Created On       : Mon Feb  6 16:07:02 2017
     
    1212// Last Modified On : Fri Dec 20 15:32:21 2024
    1313// Update Count     : 53
    14 //
     14// 
    1515
    16 #pragma GCC diagnostic ignored "-Wattributes"
    1716
    1817// label attribute
    1918int la() {
    2019  L: __attribute__(( unused )) 1;
    21   return 1;
    2220}
    2321
     
    6664// function_declarator
    6765__attribute__(( unused )) int f1() __attribute__(( used ));
    68 __attribute__(( unused )) int f1() { return 1; }
     66__attribute__(( unused )) int f1() {}
    6967__attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() __attribute__(( used ));
    70 __attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() { return 0p; }
     68__attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() {}
    7169__attribute__(( unused )) int (* __attribute__(( unused )) f3(int))[] __attribute__(( used ));
    7270__attribute__(( unused )) int ( __attribute__(( unused )) * __attribute__(( unused )) f4(int))[] __attribute__(( used ));
    73 __attribute__(( unused )) int (* __attribute__(( unused )) f5(int p))[] { (void)p; return 0p; }
    74 __attribute__(( unused )) int ( __attribute__(( unused )) * (f6)(int p))[] { (void)p; return 0p; }
     71__attribute__(( unused )) int (* __attribute__(( unused )) f5(int p))[] {}
     72__attribute__(( unused )) int ( __attribute__(( unused )) * (f6)(int p))[] {}
    7573__attribute__(( unused )) int (* __attribute__(( unused )) f7())(int) __attribute__(( used ));
    76 __attribute__(( unused )) int (* __attribute__(( unused )) f8())(int) { return 0p; }
    77 __attribute__(( unused )) int ( __attribute__(( unused )) * f9())(int) { return 0p; }
    78 __attribute__(( unused )) int ( __attribute__(( unused )) * (f10)())(int) { return 0p; }
     74__attribute__(( unused )) int (* __attribute__(( unused )) f8())(int) {}
     75__attribute__(( unused )) int ( __attribute__(( unused )) * f9())(int) {}
     76__attribute__(( unused )) int ( __attribute__(( unused )) * (f10)())(int) {}
    7977
    8078
    8179// variable_type_redeclarator
    8280typedef int t1, t2, t3, t4, t5, t6, t7, t8;
    83 void vtr() {
     81int vtr() {
    8482    // redefine typedef name in new scope
    8583    __attribute__(( unused )) int __attribute__(( unused )) t1 __attribute__(( used ));
     
    9492
    9593// identifier_parameter_declarator
    96 void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
     94int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
    9795          __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) );
    98 void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
     96int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
    9997          __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ) {}
    100 void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
     98int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
    10199          __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) );
    102 void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
     100int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
    103101          __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ) {}
    104 void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
     102int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
    105103          __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) );
    106 void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
     104int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
    107105          __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ) {}
    108 void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
     106int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
    109107          __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) );
    110 void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
     108int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
    111109          __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ) {}
    112110
     
    124122
    125123// abstract_declarator
    126 void ad() {
     124int ad() {
    127125    typeof( int __attribute__(( used )) ) ad1 __attribute__(( unused ));
    128126    typeof( int __attribute__(( unused )) * __attribute__(( unused )) ) ad2 __attribute__(( unused ));
     
    159157// variable_abstract_declarator
    160158struct Vad {
    161     int __attribute__(( unused )) x;
     159    int __attribute__(( unused ));
    162160    int __attribute__(( unused )) :4;
    163161    int __attribute__(( unused )) :4, __attribute__(( unused )) :6;
     
    176174                3;
    177175        }
    178         abort();
    179176}
    180177
    181178@[ noreturn ] void mary() {
    182         @[aligned(16)] struct S { int i; };
     179        @[aligned(64)] struct S { int i; };
    183180        int @[unused] i;
    184181        switch ( 3 ) {
     
    190187                3;
    191188        }
    192         abort();
    193189}
    194190
  • tests/collections/queue.cfa

    rc699602 r2e0bb92  
    2828        }
    2929        sout | "empty" | nl;
    30 
     30       
    3131        for ( i; 10 ) {
    3232                add( fred, *new( 2 * i ) );
     
    4848        }
    4949        sout | nl;
    50 
     50       
    5151        for ( i; 10 ) {
    5252                add( fred, *new( 2 * i + 1 ) );
     
    133133                int j;
    134134        };
    135         __attribute__((unused))
    136135        void ?{}( Mary & mary ) { abort(); }
    137136        void ?{}( Mary & mary, int p ) with( mary ) {
     
    151150        }
    152151        sout | "empty" | nl;
    153 
     152       
    154153        for ( i; 10 ) {
    155154                add( mary, *new( 2 * i ) );
     
    162161        }
    163162        sout | nl;
    164 
     163       
    165164        for ( i; 9 ) {
    166165                delete( &drop( mary ) );
     
    171170        }
    172171        sout | nl;
    173 
     172       
    174173        for ( i; 10 ) {
    175174                add( mary, *new( 2 * i + 1 ) );
  • tests/collections/sequence.cfa

    rc699602 r2e0bb92  
    3131        }
    3232        sout | "empty" | nl;
    33 
     33       
    3434        for ( i; 10 ) {
    3535                add( fred, *new( 2 * i ) );
     
    5151        }
    5252        sout | nl;
    53 
     53       
    5454        for ( i; 10 ) {
    5555                addTail( fred, *new( 2 * i + 1 ) );
     
    156156                int j;
    157157        };
    158         __attribute__((unused))
    159158        void ?{}( Mary & mary ) { abort(); }
    160159        void ?{}( Mary & mary, int p ) with( mary ) {
     
    177176        }
    178177        sout | "empty" | nl;
    179 
     178       
    180179        for ( i; 10 ) {
    181180                add( mary, *new( 2 * i ) );
     
    188187        }
    189188        sout | nl;
    190 
     189       
    191190        for ( i; 9 ) {
    192191                delete( &dropHead( mary ) );
     
    197196        }
    198197        sout | nl;
    199 
     198       
    200199        for ( i; 10 ) {
    201200                addTail( mary, *new( 2 * i + 1 ) );
  • tests/collections/stack.cfa

    rc699602 r2e0bb92  
    2828        }
    2929        sout | "empty" | nl;
    30 
     30       
    3131        for ( i; 10 ) {
    3232                push( fred, *new( 2 * i ) );
     
    3939
    4040        sout | head( fred ).i | nl;
    41 
     41       
    4242        for ( i; 9 ) {
    4343                delete( &pop( fred ) );
     
    4848        }
    4949        sout | nl;
    50 
     50       
    5151        for ( i; 10 ) {
    5252                push( fred, *new( 2 * i + 1 ) );
     
    6767                int j;
    6868        };
    69         __attribute__((unused))
    7069        void ?{}( Mary & mary ) { abort(); }
    7170        void ?{}( Mary & mary, int p ) with( mary ) {
     
    8685        }
    8786        sout | "empty" | nl;
    88 
     87       
    8988        for ( i; 10 ) {
    9089                push( mary, *new( 2 * i ) );
     
    9594        }
    9695        sout | nl;
    97 
     96       
    9897        for ( i; 9 ) {
    9998                delete( &pop( mary ) );
     
    104103        }
    105104        sout | nl;
    106 
     105       
    107106        for ( i; 10 ) {
    108107                push( mary, *new( 2 * i + 1 ) );
  • tests/collections/vector-demo.cfa

    rc699602 r2e0bb92  
    9696      #endif
    9797
    98         // forbid calling a function that returns permit by value
    99       #ifdef TRY_RETURN_PERMIT_BYVAL_1
    10098        // can declare function that returns permit (wish to forbid)
    10199        vector_permit(float) g( vector( float ) & theVec ) {
     
    103101        }
    104102
     103        // forbid calling a function that returns permit by value
     104      #ifdef TRY_RETURN_PERMIT_BYVAL_1
    105105        vector_permit(float) ofG = g( v ); // Unique best alternative includes deleted identifier
    106106      #endif
    107 
     107       
    108108        // allow declaration of permit, populating from exit
    109109        vector_exit(float) h( vector( float ) & theVec ) {
  • tests/configs/usage.cfa

    rc699602 r2e0bb92  
    108108
    109109// no used
    110 static int true_main( const char *, const char * []) { return 0; }
    111 __attribute__((unused)) static void check_main(const char *);
     110static int true_main( const char * path, const char * env[]) { return 0; }
  • tests/ctrl-flow/labelledExit.cfa

    rc699602 r2e0bb92  
    1 //
     1// 
    22// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
    33//
    44// The contents of this file are covered under the licence agreement in the
    55// file "LICENCE" distributed with Cforall.
    6 //
    7 // labelledExit.cfa --
    8 //
     6// 
     7// labelledExit.cfa -- 
     8// 
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 10 07:29:39 2016
     
    1212// Last Modified On : Fri Jan 17 14:18:15 2025
    1313// Update Count     : 14
    14 //
     14// 
    1515
    1616int foo() {
    17         int i = 0;
    18         int x = 0, y = 0;
     17        int i;
     18        int x, y;
    1919
    20         // block, labelled exits
     20        x = 0; y = 0;
     21
     22        // block, labelled exits
    2123
    2224  Block: {
    23                 if ( x == y ) {
    24                         for ( ; i < y; ) {
    25                                 y += 1;
    26                                 if ( y < 10 ) break Block;
    27                         }
    28                 }
    29         }
     25                if ( x == y ) {
     26                        for ( ; i < y; ) {
     27                                y += 1;
     28                                if ( y < 10 ) break Block;
     29                        }
     30                }
     31        }
    3032
    31         // loops, labelled exits
     33        // loops, labelled exits
    3234
    33   w1: while ( y == 10 ) break w1;
     35  w1: while ( y == 10 );
    3436
    3537  w2: while ( x < 10 ) {
    36                 while (y < 5 ) {
    37                         if ( y == 3 ) break w2;
    38                 }
    39                 x += 1;
    40         }
     38                while (y < 5 ) {
     39                        if ( y == 3 ) break w2;
     40                }
     41                x += 1;
     42        }
    4143
    4244  A: for ( i = 0; i < 10; i += 1 ) {
    43           B: for ( i = 0; i < 10; i += 1 ) {
    44                   C: for ( i = 0; i < 10; i += 1 ) {
    45                                 goto A;
    46                                 goto B;
    47                                 goto C;
    48                                 continue A;
    49                                 continue B;
    50                                 continue C;
    51                                 continue;
    52                                 break A;
    53                                 break B;
    54                                 break C;
    55                                 break;
    56                         }
    57                 }
    58         }
     45          B: for ( i = 0; i < 10; i += 1 ) {
     46                  C: for ( i = 0; i < 10; i += 1 ) {
     47                                goto A;
     48                                goto B;
     49                                goto C;
     50                                continue A;
     51                                continue B;
     52                                continue C;
     53                                continue;
     54                                break A;
     55                                break B;
     56                                break C;
     57                                break;
     58                        }
     59                }
     60        }
    5961
    6062  D: for () {
    61                 break D;
    62                 continue D;
    63         }
     63                break D;
     64                continue D;
     65        }
    6466
    6567  Z : i += 1;
    66         goto Z;
     68        goto Z;
    6769  X: Y: for () {
    68                 i += 1;
    69                 if ( i > 5 ) continue X;
    70                 if ( i < 5 ) break X;
    71                 if ( i < 5 ) break Y;
    72                 break;
    73         }
     70                i += 1;
     71                if ( i > 5 ) continue X;
     72                if ( i < 5 ) break X;
     73                if ( i < 5 ) break Y;
     74                break;
     75        }
    7476  XX: for () {
    75           YY: for () {
    76                   ZZ: for () {
    77                                 i += 1;
    78                                 if ( i > 5 ) continue XX;
    79                                 if ( i < 5 ) continue YY;
    80                                 if ( i < 5 ) continue ZZ;
    81                                 if ( i > 5 ) break XX;
    82                                 if ( i < 5 ) break YY;
    83                                 if ( i < 5 ) break ZZ;
    84                                 break;
    85                         }
    86                 }
    87         }
     77          YY: for () {
     78                  ZZ: for () {
     79                                i += 1;
     80                                if ( i > 5 ) continue XX;
     81                                if ( i < 5 ) continue YY;
     82                                if ( i < 5 ) continue ZZ;
     83                                if ( i > 5 ) break XX;
     84                                if ( i < 5 ) break YY;
     85                                if ( i < 5 ) break ZZ;
     86                                break;
     87                        }
     88                }
     89        }
    8890
    89         for () ;
    90         for ( int i = 0 ;; ) ++i;
    91         for (  ; i < 0; ) ;
    92         for (  ; ; i += 1 ) ;
     91        for () ;
     92        for ( int i = 0 ;; ) ;
     93        for (  ; i < 0; ) ;
     94        for (  ; ; i += 1 ) ;
    9395  L0:  L1:  L2:  L3:  L4:  L5:  L6:  L7:  L8:  L9:
    9496  L10: L11: L12: L13: L14: L15: L16: L17: L18: L19:
    9597  L20: L21: L22: L23: L24: L25: L26: L27: L28: L29:
    9698  L31: L32: L33: L34:
    97         for () {
    98                 break L0;
    99                 break L1;  break L2;  break L3;  break L4;  break L5;  break L6;
    100                 break L7;  break L8;  break L9;  break L10; break L11; break L12;
    101                 break L13; break L14; break L15; break L16; break L17; break L18;
    102                 break L19; break L20; break L21; break L22; break L23; break L24;
    103                 break L25; break L26; break L27; break L28; break L29; break L31;
    104                 break L32; break L33; break L34;
    105         }
     99        for () {
     100                break L0;
     101        }
    106102
    107         // switch/choose, labelled exits
     103        // switch/choose, labelled exits
    108104
    109105  Switch: switch ( i ) {
    110           default:
    111                 i += 1;
    112                 fallthrough;
    113           case 0:
    114                 i += 1;
    115                 break Switch;
    116           case 1:
    117                 switch ( i ) {
    118                   case 0:
    119                         break Switch;
    120                   default:
    121                         ; break;
    122                 }
    123         }
     106          default:
     107                i += 1;
     108          case 0:
     109                i += 1;
     110                break Switch;
     111          case 1:
     112                switch ( i ) {
     113                  case 0:
     114                        break Switch;
     115                  default:
     116                        ; break;
     117                }
     118        }
    124119
    125120  Choose: choose ( i ) {
    126           default:
    127                 i += 1;
    128           case 0:
    129                 i += 1;
    130                 break Choose;
    131           case 1:
    132                 choose ( i ) {
    133                   case 0:
    134                         break;
    135                   default:
    136                         break Choose;
    137                 }
    138                 fallthrough;
    139           case 2:
    140                 i += 1;
    141         }
     121          default:
     122                i += 1;
     123          case 0:
     124                i += 1;
     125                break Choose;
     126          case 1:
     127                choose ( i ) {
     128                  case 0:
     129                        break;
     130                  default:
     131                        break Choose;
     132                }
     133                fallthrough;
     134          case 2:
     135                i += 1;
     136        }
    142137
    143         // all nested control options, labelled exits
     138        // all nested control options, labelled exits
    144139
    145140  Comp: {
     
    153148                                                                break Try;
    154149                                                                break Comp;
    155                                                                 break For;              continue For;
    156                                                                 break While;    continue While;
    157                                                                 break Do;               continue Do;
    158                                                                 break If;
    159                                                                 break Switch2;
     150                                                                break For;              continue For;
     151                                                                break While;    continue While;
     152                                                                break Do;               continue Do;
     153                                                                break If;
     154                                                                break Switch2;
    160155                                                        } // switch
    161156                                                } // if
     
    183178}
    184179
    185 int main() {
     180int main( int argc, char const *argv[] ) {
    186181        printf("done\n");
    187182}
  • tests/ctrl-flow/loop_else.cfa

    rc699602 r2e0bb92  
    2323
    2424        sout | nlOff;                                                                           // turn off auto newline
    25         while ( true ) { sout | "empty"; break; } else { sout | "else"; }                               sout | nl;
    26         do { sout | "empty"; break; } while ( true ) else { sout | "else"; }                    sout | nl;
    27         for ( ; true ; ) { sout | "empty"; break; } else { sout | "else"; }                             sout | nl | nl;
     25        while () { sout | "empty"; break; } else { sout | "else"; }                                             sout | nl;
     26        do { sout | "empty"; break; } while () else { sout | "else"; }                                  sout | nl;
     27        for () { sout | "empty"; break; } else { sout | "else"; }                                               sout | nl | nl;
    2828
    2929        do { sout | "false"; } while (false) else { sout | "else"; }                                    sout | nl | nl;
Note: See TracChangeset for help on using the changeset viewer.