Changeset c699602


Ignore:
Timestamp:
Jan 28, 2025, 10:11:24 PM (2 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
49510db
Parents:
2e0bb92 (diff), bada452 (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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
2 added
13 edited

Legend:

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

    r2e0bb92 rc699602  
    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&)*(&this+sizeof(monitor$)) );
     262                        reset( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) );
    263263                }
    264264
     
    266266                bool fulfil( multi_future(T) & this, T result ) {
    267267                        this.result = result;
    268                         return fulfil( (future_t&)*(&this+sizeof(monitor$)) ) != 0p;
     268                        return fulfil( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) ) != 0p;
    269269                }
    270270
     
    275275                        bool w = !sw;
    276276                        if ( sw ) {
    277                                 w = wait( (future_t&)*(&this+sizeof(monitor$)) );
     277                                w = wait( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) );
    278278                                $first_done( this );
    279279                        }
  • TabularUnified tests/.expect/attributes.arm64.txt

    r2e0bb92 rc699602  
     1
     2#pragma GCC diagnostic ignored "-Wattributes"
     3;
    14signed int _X2laFi___1(void){
    25    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    58    }
    69
     10    {
     11        ((void)(_X10_retval_lai_1=1) /* ?{} */);
     12    }
     13
     14    return _X10_retval_lai_1;
    715}
    816struct __attribute__ ((unused)) __anonymous0 {
     
    11591167__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11601168    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
     1169    {
     1170        ((void)(_X10_retval_f1i_1=1) /* ?{} */);
     1171    }
     1172
     1173    return _X10_retval_f1i_1;
    11611174}
    11621175__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11631176__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11641177    __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;
    11651183}
    11661184__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11681186__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11691187    __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;
    11701197}
    11711198__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11721199    __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;
    11731209}
    11741210__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    11751211__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    11761212    __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;
    11771218}
    11781219__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    11791220    __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;
    11801226}
    11811227__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    11821228    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1183 }
    1184 signed int _X3vtrFi___1(void){
    1185     __attribute__ ((unused)) signed int _X11_retval_vtri_1;
     1229    {
     1230        ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
     1231    }
     1232
     1233    return _X11_retval_f10Fi_i__1;
     1234}
     1235void _X3vtrFv___1(void){
    11861236    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    11871237    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    11921242    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    11931243}
    1194 signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1195 signed 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 }
    1198 signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1199 signed 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 }
    1202 signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1203 signed 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 }
    1206 signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1207 signed 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;
     1244void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1245void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1246}
     1247void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1248void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1249}
     1250void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1251void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1252}
     1253void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1254void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
    12091255}
    12101256signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12151261signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12161262signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1217 signed int _X2adFi___1(void){
    1218     __attribute__ ((unused)) signed int _X10_retval_adi_1;
     1263void _X2adFv___1(void){
    12191264    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12201265    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13191364signed 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));
    13201365struct Vad {
     1366    __attribute__ ((unused)) signed int _X1xi_1;
    13211367    __attribute__ ((unused)) signed int :4;
    13221368    __attribute__ ((unused)) signed int :4;
     
    13241370};
    13251371static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1372    {
     1373        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
     1374    }
     1375
    13261376}
    13271377static 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
    13281382}
    13291383static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1384    {
     1385        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
     1386    }
     1387
    13301388}
    13311389static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13321390    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13331391    {
     1392        ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
     1393    }
     1394
     1395    {
    13341396        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13351397    }
    13361398
    13371399    return _X4_retS3Vad_1;
     1400}
     1401static 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
    13381406}
    13391407__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    13561424    }
    13571425
     1426    {
     1427        ((void)abort());
     1428    }
     1429
    13581430}
    13591431__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1360     struct __attribute__ ((aligned(64))) S {
     1432    struct __attribute__ ((aligned(16))) S {
    13611433        signed int _X1ii_2;
    13621434    };
     
    14151487    }
    14161488
    1417 }
     1489    {
     1490        ((void)abort());
     1491    }
     1492
     1493}
  • TabularUnified tests/.expect/attributes.x64.txt

    r2e0bb92 rc699602  
     1
     2#pragma GCC diagnostic ignored "-Wattributes"
     3;
    14signed int _X2laFi___1(void){
    25    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    58    }
    69
     10    {
     11        ((void)(_X10_retval_lai_1=1) /* ?{} */);
     12    }
     13
     14    return _X10_retval_lai_1;
    715}
    816struct __attribute__ ((unused)) __anonymous0 {
     
    11591167__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11601168    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
     1169    {
     1170        ((void)(_X10_retval_f1i_1=1) /* ?{} */);
     1171    }
     1172
     1173    return _X10_retval_f1i_1;
    11611174}
    11621175__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11631176__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11641177    __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;
    11651183}
    11661184__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11681186__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11691187    __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;
    11701197}
    11711198__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11721199    __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;
    11731209}
    11741210__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    11751211__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    11761212    __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;
    11771218}
    11781219__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    11791220    __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;
    11801226}
    11811227__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    11821228    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1183 }
    1184 signed int _X3vtrFi___1(void){
    1185     __attribute__ ((unused)) signed int _X11_retval_vtri_1;
     1229    {
     1230        ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
     1231    }
     1232
     1233    return _X11_retval_f10Fi_i__1;
     1234}
     1235void _X3vtrFv___1(void){
    11861236    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    11871237    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    11921242    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    11931243}
    1194 signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1195 signed 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 }
    1198 signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1199 signed 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 }
    1202 signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1203 signed 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 }
    1206 signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1207 signed 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;
     1244void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1245void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1246}
     1247void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1248void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1249}
     1250void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1251void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1252}
     1253void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1254void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
    12091255}
    12101256signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12151261signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12161262signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1217 signed int _X2adFi___1(void){
    1218     __attribute__ ((unused)) signed int _X10_retval_adi_1;
     1263void _X2adFv___1(void){
    12191264    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12201265    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13191364signed 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));
    13201365struct Vad {
     1366    __attribute__ ((unused)) signed int _X1xi_1;
    13211367    __attribute__ ((unused)) signed int :4;
    13221368    __attribute__ ((unused)) signed int :4;
     
    13241370};
    13251371static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1372    {
     1373        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
     1374    }
     1375
    13261376}
    13271377static 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
    13281382}
    13291383static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1384    {
     1385        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
     1386    }
     1387
    13301388}
    13311389static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13321390    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13331391    {
     1392        ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
     1393    }
     1394
     1395    {
    13341396        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13351397    }
    13361398
    13371399    return _X4_retS3Vad_1;
     1400}
     1401static 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
    13381406}
    13391407__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    13561424    }
    13571425
     1426    {
     1427        ((void)abort());
     1428    }
     1429
    13581430}
    13591431__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1360     struct __attribute__ ((aligned(64))) S {
     1432    struct __attribute__ ((aligned(16))) S {
    13611433        signed int _X1ii_2;
    13621434    };
     
    14151487    }
    14161488
    1417 }
     1489    {
     1490        ((void)abort());
     1491    }
     1492
     1493}
  • TabularUnified tests/.expect/attributes.x86.txt

    r2e0bb92 rc699602  
     1
     2#pragma GCC diagnostic ignored "-Wattributes"
     3;
    14signed int _X2laFi___1(void){
    25    __attribute__ ((unused)) signed int _X10_retval_lai_1;
     
    58    }
    69
     10    {
     11        ((void)(_X10_retval_lai_1=1) /* ?{} */);
     12    }
     13
     14    return _X10_retval_lai_1;
    715}
    816struct __attribute__ ((unused)) __anonymous0 {
     
    11591167__attribute__ ((unused)) signed int _X2f1Fi___1(void){
    11601168    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
     1169    {
     1170        ((void)(_X10_retval_f1i_1=1) /* ?{} */);
     1171    }
     1172
     1173    return _X10_retval_f1i_1;
    11611174}
    11621175__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void);
    11631176__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){
    11641177    __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;
    11651183}
    11661184__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
     
    11681186__attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{
    11691187    __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;
    11701197}
    11711198__attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{
    11721199    __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;
    11731209}
    11741210__attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0);
    11751211__attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){
    11761212    __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;
    11771218}
    11781219__attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){
    11791220    __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;
    11801226}
    11811227__attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){
    11821228    __attribute__ ((unused)) signed int (*_X11_retval_f10Fi_i__1)(signed int __param_0);
    1183 }
    1184 signed int _X3vtrFi___1(void){
    1185     __attribute__ ((unused)) signed int _X11_retval_vtri_1;
     1229    {
     1230        ((void)(_X11_retval_f10Fi_i__1=((void*)((unsigned long int )0))) /* ?{} */);
     1231    }
     1232
     1233    return _X11_retval_f10Fi_i__1;
     1234}
     1235void _X3vtrFv___1(void){
    11861236    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
    11871237    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
     
    11921242    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void);
    11931243}
    1194 signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
    1195 signed 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 }
    1198 signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1199 signed 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 }
    1202 signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
    1203 signed 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 }
    1206 signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
    1207 signed 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;
     1244void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
     1245void _X4ipd1Fv_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
     1246}
     1247void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1248void _X4ipd2Fv_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1249}
     1250void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
     1251void _X4ipd3Fv_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
     1252}
     1253void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void));
     1254void _X4ipd4Fv_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(void), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)(void)){
    12091255}
    12101256signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
     
    12151261signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void));
    12161262signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object3)(signed int (*__param_0)(signed int __param_0)));
    1217 signed int _X2adFi___1(void){
    1218     __attribute__ ((unused)) signed int _X10_retval_adi_1;
     1263void _X2adFv___1(void){
    12191264    __attribute__ ((used,unused)) signed int _X3ad1i_2;
    12201265    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
     
    13191364signed 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));
    13201365struct Vad {
     1366    __attribute__ ((unused)) signed int _X1xi_1;
    13211367    __attribute__ ((unused)) signed int :4;
    13221368    __attribute__ ((unused)) signed int :4;
     
    13241370};
    13251371static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1372    {
     1373        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);
     1374    }
     1375
    13261376}
    13271377static 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
    13281382}
    13291383static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){
     1384    {
     1385        ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);
     1386    }
     1387
    13301388}
    13311389static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){
    13321390    __attribute__ ((unused)) struct Vad _X4_retS3Vad_1;
    13331391    {
     1392        ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));
     1393    }
     1394
     1395    {
    13341396        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
    13351397    }
    13361398
    13371399    return _X4_retS3Vad_1;
     1400}
     1401static 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
    13381406}
    13391407__attribute__ (( noreturn )) void _X4fredFv___1(void){
     
    13561424    }
    13571425
     1426    {
     1427        ((void)abort());
     1428    }
     1429
    13581430}
    13591431__attribute__ ((noreturn)) void _X4maryFv___1(void){
    1360     struct __attribute__ ((aligned(64))) S {
     1432    struct __attribute__ ((aligned(16))) S {
    13611433        signed int _X1ii_2;
    13621434    };
     
    14151487    }
    14161488
    1417 }
     1489    {
     1490        ((void)abort());
     1491    }
     1492
     1493}
  • TabularUnified tests/Makefile.am

    r2e0bb92 rc699602  
    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 \
    6763        collections/vector-demo \
    6864        concurrency/actors/dynamic \
     
    9793        concurrency/waituntil/repeat_close \
    9894        concurrency/waituntil/timeout \
    99         configs/usage \
    100         ctrl-flow/labelledExit \
    101         ctrl-flow/loop_else \
    10295        designations \
    10396        exceptions/cardgame \
  • TabularUnified tests/attributes.cfa

    r2e0bb92 rc699602  
    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"
    1617
    1718// label attribute
    1819int la() {
    1920  L: __attribute__(( unused )) 1;
     21  return 1;
    2022}
    2123
     
    6466// function_declarator
    6567__attribute__(( unused )) int f1() __attribute__(( used ));
    66 __attribute__(( unused )) int f1() {}
     68__attribute__(( unused )) int f1() { return 1; }
    6769__attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() __attribute__(( used ));
    68 __attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() {}
     70__attribute__(( unused )) int * __attribute__(( unused )) * const __attribute__(( unused )) f2() { return 0p; }
    6971__attribute__(( unused )) int (* __attribute__(( unused )) f3(int))[] __attribute__(( used ));
    7072__attribute__(( unused )) int ( __attribute__(( unused )) * __attribute__(( unused )) f4(int))[] __attribute__(( used ));
    71 __attribute__(( unused )) int (* __attribute__(( unused )) f5(int p))[] {}
    72 __attribute__(( unused )) int ( __attribute__(( unused )) * (f6)(int p))[] {}
     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; }
    7375__attribute__(( unused )) int (* __attribute__(( unused )) f7())(int) __attribute__(( used ));
    74 __attribute__(( unused )) int (* __attribute__(( unused )) f8())(int) {}
    75 __attribute__(( unused )) int ( __attribute__(( unused )) * f9())(int) {}
    76 __attribute__(( unused )) int ( __attribute__(( unused )) * (f10)())(int) {}
     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; }
    7779
    7880
    7981// variable_type_redeclarator
    8082typedef int t1, t2, t3, t4, t5, t6, t7, t8;
    81 int vtr() {
     83void vtr() {
    8284    // redefine typedef name in new scope
    8385    __attribute__(( unused )) int __attribute__(( unused )) t1 __attribute__(( used ));
     
    9294
    9395// identifier_parameter_declarator
    94 int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
     96void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
    9597          __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) );
    96 int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
     98void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),
    9799          __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ) {}
    98 int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
     100void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
    99101          __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) );
    100 int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
     102void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),
    101103          __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ) {}
    102 int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
     104void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
    103105          __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) );
    104 int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
     106void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),
    105107          __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ) {}
    106 int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
     108void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
    107109          __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) );
    108 int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
     110void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),
    109111          __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ) {}
    110112
     
    122124
    123125// abstract_declarator
    124 int ad() {
     126void ad() {
    125127    typeof( int __attribute__(( used )) ) ad1 __attribute__(( unused ));
    126128    typeof( int __attribute__(( unused )) * __attribute__(( unused )) ) ad2 __attribute__(( unused ));
     
    157159// variable_abstract_declarator
    158160struct Vad {
    159     int __attribute__(( unused ));
     161    int __attribute__(( unused )) x;
    160162    int __attribute__(( unused )) :4;
    161163    int __attribute__(( unused )) :4, __attribute__(( unused )) :6;
     
    174176                3;
    175177        }
     178        abort();
    176179}
    177180
    178181@[ noreturn ] void mary() {
    179         @[aligned(64)] struct S { int i; };
     182        @[aligned(16)] struct S { int i; };
    180183        int @[unused] i;
    181184        switch ( 3 ) {
     
    187190                3;
    188191        }
     192        abort();
    189193}
    190194
  • TabularUnified tests/collections/queue.cfa

    r2e0bb92 rc699602  
    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))
    135136        void ?{}( Mary & mary ) { abort(); }
    136137        void ?{}( Mary & mary, int p ) with( mary ) {
     
    150151        }
    151152        sout | "empty" | nl;
    152        
     153
    153154        for ( i; 10 ) {
    154155                add( mary, *new( 2 * i ) );
     
    161162        }
    162163        sout | nl;
    163        
     164
    164165        for ( i; 9 ) {
    165166                delete( &drop( mary ) );
     
    170171        }
    171172        sout | nl;
    172        
     173
    173174        for ( i; 10 ) {
    174175                add( mary, *new( 2 * i + 1 ) );
  • TabularUnified tests/collections/sequence.cfa

    r2e0bb92 rc699602  
    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))
    158159        void ?{}( Mary & mary ) { abort(); }
    159160        void ?{}( Mary & mary, int p ) with( mary ) {
     
    176177        }
    177178        sout | "empty" | nl;
    178        
     179
    179180        for ( i; 10 ) {
    180181                add( mary, *new( 2 * i ) );
     
    187188        }
    188189        sout | nl;
    189        
     190
    190191        for ( i; 9 ) {
    191192                delete( &dropHead( mary ) );
     
    196197        }
    197198        sout | nl;
    198        
     199
    199200        for ( i; 10 ) {
    200201                addTail( mary, *new( 2 * i + 1 ) );
  • TabularUnified tests/collections/stack.cfa

    r2e0bb92 rc699602  
    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))
    6970        void ?{}( Mary & mary ) { abort(); }
    7071        void ?{}( Mary & mary, int p ) with( mary ) {
     
    8586        }
    8687        sout | "empty" | nl;
    87        
     88
    8889        for ( i; 10 ) {
    8990                push( mary, *new( 2 * i ) );
     
    9495        }
    9596        sout | nl;
    96        
     97
    9798        for ( i; 9 ) {
    9899                delete( &pop( mary ) );
     
    103104        }
    104105        sout | nl;
    105        
     106
    106107        for ( i; 10 ) {
    107108                push( mary, *new( 2 * i + 1 ) );
  • TabularUnified tests/collections/vector-demo.cfa

    r2e0bb92 rc699602  
    9696      #endif
    9797
     98        // forbid calling a function that returns permit by value
     99      #ifdef TRY_RETURN_PERMIT_BYVAL_1
    98100        // can declare function that returns permit (wish to forbid)
    99101        vector_permit(float) g( vector( float ) & theVec ) {
     
    101103        }
    102104
    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 ) {
  • TabularUnified tests/configs/usage.cfa

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

    r2e0bb92 rc699602  
    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;
    18         int x, y;
     17        int i = 0;
     18        int x = 0, y = 0;
    1919
    20         x = 0; y = 0;
    21 
    22         // block, labelled exits
     20        // block, labelled exits
    2321
    2422  Block: {
    25                 if ( x == y ) {
    26                         for ( ; i < y; ) {
    27                                 y += 1;
    28                                 if ( y < 10 ) break Block;
    29                         }
    30                 }
    31         }
     23                if ( x == y ) {
     24                        for ( ; i < y; ) {
     25                                y += 1;
     26                                if ( y < 10 ) break Block;
     27                        }
     28                }
     29        }
    3230
    33         // loops, labelled exits
     31        // loops, labelled exits
    3432
    35   w1: while ( y == 10 );
     33  w1: while ( y == 10 ) break w1;
    3634
    3735  w2: while ( x < 10 ) {
    38                 while (y < 5 ) {
    39                         if ( y == 3 ) break w2;
    40                 }
    41                 x += 1;
    42         }
     36                while (y < 5 ) {
     37                        if ( y == 3 ) break w2;
     38                }
     39                x += 1;
     40        }
    4341
    4442  A: for ( i = 0; i < 10; i += 1 ) {
    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         }
     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        }
    6159
    6260  D: for () {
    63                 break D;
    64                 continue D;
    65         }
     61                break D;
     62                continue D;
     63        }
    6664
    6765  Z : i += 1;
    68         goto Z;
     66        goto Z;
    6967  X: Y: for () {
    70                 i += 1;
    71                 if ( i > 5 ) continue X;
    72                 if ( i < 5 ) break X;
    73                 if ( i < 5 ) break Y;
    74                 break;
    75         }
     68                i += 1;
     69                if ( i > 5 ) continue X;
     70                if ( i < 5 ) break X;
     71                if ( i < 5 ) break Y;
     72                break;
     73        }
    7674  XX: for () {
    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         }
     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        }
    9088
    91         for () ;
    92         for ( int i = 0 ;; ) ;
    93         for (  ; i < 0; ) ;
    94         for (  ; ; i += 1 ) ;
     89        for () ;
     90        for ( int i = 0 ;; ) ++i;
     91        for (  ; i < 0; ) ;
     92        for (  ; ; i += 1 ) ;
    9593  L0:  L1:  L2:  L3:  L4:  L5:  L6:  L7:  L8:  L9:
    9694  L10: L11: L12: L13: L14: L15: L16: L17: L18: L19:
    9795  L20: L21: L22: L23: L24: L25: L26: L27: L28: L29:
    9896  L31: L32: L33: L34:
    99         for () {
    100                 break L0;
    101         }
     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        }
    102106
    103         // switch/choose, labelled exits
     107        // switch/choose, labelled exits
    104108
    105109  Switch: switch ( i ) {
    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         }
     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        }
    119124
    120125  Choose: choose ( i ) {
    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         }
     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        }
    137142
    138         // all nested control options, labelled exits
     143        // all nested control options, labelled exits
    139144
    140145  Comp: {
     
    148153                                                                break Try;
    149154                                                                break Comp;
    150                                                                 break For;              continue For;
    151                                                                 break While;    continue While;
    152                                                                 break Do;               continue Do;
    153                                                                 break If;
    154                                                                 break Switch2;
     155                                                                break For;              continue For;
     156                                                                break While;    continue While;
     157                                                                break Do;               continue Do;
     158                                                                break If;
     159                                                                break Switch2;
    155160                                                        } // switch
    156161                                                } // if
     
    178183}
    179184
    180 int main( int argc, char const *argv[] ) {
     185int main() {
    181186        printf("done\n");
    182187}
  • TabularUnified tests/ctrl-flow/loop_else.cfa

    r2e0bb92 rc699602  
    2323
    2424        sout | nlOff;                                                                           // turn off auto newline
    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;
     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;
    2828
    2929        do { sout | "false"; } while (false) else { sout | "else"; }                                    sout | nl | nl;
Note: See TracChangeset for help on using the changeset viewer.