Changes in / [c699602:2e0bb92]
- Files:
-
- 2 deleted
- 13 edited
-
libcfa/src/concurrency/future.hfa (modified) (3 diffs)
-
tests/.expect/attributes.arm64.txt (modified) (10 diffs)
-
tests/.expect/attributes.x64.txt (modified) (10 diffs)
-
tests/.expect/attributes.x86.txt (modified) (10 diffs)
-
tests/Makefile.am (modified) (2 diffs)
-
tests/attributes.cfa (modified) (8 diffs)
-
tests/collections/queue.cfa (modified) (6 diffs)
-
tests/collections/sequence.cfa (modified) (6 diffs)
-
tests/collections/stack.cfa (modified) (7 diffs)
-
tests/collections/vector-demo.cfa (modified) (2 diffs)
-
tests/configs/usage.cfa (modified) (1 diff)
-
tests/ctrl-flow/.expect/superfluous.txt (deleted)
-
tests/ctrl-flow/labelledExit.cfa (modified) (4 diffs)
-
tests/ctrl-flow/loop_else.cfa (modified) (1 diff)
-
tests/ctrl-flow/superfluous.cfa (deleted)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/future.hfa
rc699602 r2e0bb92 260 260 if( this.has_first != false) abort("Attempting to reset a multi_future with at least one blocked threads"); 261 261 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$)) ); 263 263 } 264 264 … … 266 266 bool fulfil( multi_future(T) & this, T result ) { 267 267 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; 269 269 } 270 270 … … 275 275 bool w = !sw; 276 276 if ( sw ) { 277 w = wait( (future_t&)*( future_t*)((uintptr_t)&this +sizeof(monitor$)) );277 w = wait( (future_t&)*(&this+sizeof(monitor$)) ); 278 278 $first_done( this ); 279 279 } -
tests/.expect/attributes.arm64.txt
rc699602 r2e0bb92 1 2 #pragma GCC diagnostic ignored "-Wattributes"3 ;4 1 signed int _X2laFi___1(void){ 5 2 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 8 5 } 9 6 10 {11 ((void)(_X10_retval_lai_1=1) /* ?{} */);12 }13 14 return _X10_retval_lai_1;15 7 } 16 8 struct __attribute__ ((unused)) __anonymous0 { … … 1167 1159 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1168 1160 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 {1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */);1171 }1172 1173 return _X10_retval_f1i_1;1174 1161 } 1175 1162 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1176 1163 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1177 1164 __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;1183 1165 } 1184 1166 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1186 1168 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1187 1169 __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;1197 1170 } 1198 1171 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1199 1172 __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;1209 1173 } 1210 1174 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1211 1175 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1212 1176 __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;1218 1177 } 1219 1178 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1220 1179 __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;1226 1180 } 1227 1181 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1228 1182 __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 } 1184 signed int _X3vtrFi___1(void){ 1185 __attribute__ ((unused)) signed int _X11_retval_vtri_1; 1236 1186 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1237 1187 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1242 1192 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1243 1193 } 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)){ 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; 1255 1209 } 1256 1210 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1261 1215 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1262 1216 signed 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){ 1217 signed int _X2adFi___1(void){ 1218 __attribute__ ((unused)) signed int _X10_retval_adi_1; 1264 1219 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1265 1220 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1364 1319 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1365 1320 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1;1367 1321 __attribute__ ((unused)) signed int :4; 1368 1322 __attribute__ ((unused)) signed int :4; … … 1370 1324 }; 1371 1325 static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1372 {1373 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);1374 }1375 1376 1326 } 1377 1327 static 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 1382 1328 } 1383 1329 static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1384 {1385 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);1386 }1387 1388 1330 } 1389 1331 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1390 1332 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1391 1333 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));1393 }1394 1395 {1396 1334 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1397 1335 } 1398 1336 1399 1337 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 1406 1338 } 1407 1339 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1424 1356 } 1425 1357 1426 {1427 ((void)abort());1428 }1429 1430 1358 } 1431 1359 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1432 struct __attribute__ ((aligned( 16))) S {1360 struct __attribute__ ((aligned(64))) S { 1433 1361 signed int _X1ii_2; 1434 1362 }; … … 1487 1415 } 1488 1416 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } 1417 } -
tests/.expect/attributes.x64.txt
rc699602 r2e0bb92 1 2 #pragma GCC diagnostic ignored "-Wattributes"3 ;4 1 signed int _X2laFi___1(void){ 5 2 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 8 5 } 9 6 10 {11 ((void)(_X10_retval_lai_1=1) /* ?{} */);12 }13 14 return _X10_retval_lai_1;15 7 } 16 8 struct __attribute__ ((unused)) __anonymous0 { … … 1167 1159 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1168 1160 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 {1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */);1171 }1172 1173 return _X10_retval_f1i_1;1174 1161 } 1175 1162 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1176 1163 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1177 1164 __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;1183 1165 } 1184 1166 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1186 1168 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1187 1169 __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;1197 1170 } 1198 1171 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1199 1172 __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;1209 1173 } 1210 1174 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1211 1175 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1212 1176 __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;1218 1177 } 1219 1178 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1220 1179 __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;1226 1180 } 1227 1181 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1228 1182 __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 } 1184 signed int _X3vtrFi___1(void){ 1185 __attribute__ ((unused)) signed int _X11_retval_vtri_1; 1236 1186 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1237 1187 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1242 1192 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1243 1193 } 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)){ 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; 1255 1209 } 1256 1210 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1261 1215 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1262 1216 signed 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){ 1217 signed int _X2adFi___1(void){ 1218 __attribute__ ((unused)) signed int _X10_retval_adi_1; 1264 1219 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1265 1220 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1364 1319 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1365 1320 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1;1367 1321 __attribute__ ((unused)) signed int :4; 1368 1322 __attribute__ ((unused)) signed int :4; … … 1370 1324 }; 1371 1325 static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1372 {1373 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);1374 }1375 1376 1326 } 1377 1327 static 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 1382 1328 } 1383 1329 static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1384 {1385 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);1386 }1387 1388 1330 } 1389 1331 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1390 1332 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1391 1333 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));1393 }1394 1395 {1396 1334 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1397 1335 } 1398 1336 1399 1337 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 1406 1338 } 1407 1339 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1424 1356 } 1425 1357 1426 {1427 ((void)abort());1428 }1429 1430 1358 } 1431 1359 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1432 struct __attribute__ ((aligned( 16))) S {1360 struct __attribute__ ((aligned(64))) S { 1433 1361 signed int _X1ii_2; 1434 1362 }; … … 1487 1415 } 1488 1416 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } 1417 } -
tests/.expect/attributes.x86.txt
rc699602 r2e0bb92 1 2 #pragma GCC diagnostic ignored "-Wattributes"3 ;4 1 signed int _X2laFi___1(void){ 5 2 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 8 5 } 9 6 10 {11 ((void)(_X10_retval_lai_1=1) /* ?{} */);12 }13 14 return _X10_retval_lai_1;15 7 } 16 8 struct __attribute__ ((unused)) __anonymous0 { … … 1167 1159 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1168 1160 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 {1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */);1171 }1172 1173 return _X10_retval_f1i_1;1174 1161 } 1175 1162 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1176 1163 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1177 1164 __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;1183 1165 } 1184 1166 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1186 1168 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1187 1169 __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;1197 1170 } 1198 1171 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1199 1172 __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;1209 1173 } 1210 1174 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1211 1175 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1212 1176 __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;1218 1177 } 1219 1178 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1220 1179 __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;1226 1180 } 1227 1181 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1228 1182 __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 } 1184 signed int _X3vtrFi___1(void){ 1185 __attribute__ ((unused)) signed int _X11_retval_vtri_1; 1236 1186 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1237 1187 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1242 1192 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1243 1193 } 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)){ 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; 1255 1209 } 1256 1210 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1261 1215 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1262 1216 signed 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){ 1217 signed int _X2adFi___1(void){ 1218 __attribute__ ((unused)) signed int _X10_retval_adi_1; 1264 1219 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1265 1220 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1364 1319 signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(__attribute__ ((unused)) signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __param_0)); 1365 1320 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1;1367 1321 __attribute__ ((unused)) signed int :4; 1368 1322 __attribute__ ((unused)) signed int :4; … … 1370 1324 }; 1371 1325 static inline void _X12_constructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1372 {1373 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ?{} */);1374 }1375 1376 1326 } 1377 1327 static 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 1382 1328 } 1383 1329 static inline void _X11_destructorFv_S3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1){ 1384 {1385 ((void)((*_X4_dstS3Vad_1)._X1xi_1) /* ^?{} */);1386 }1387 1388 1330 } 1389 1331 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1390 1332 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1391 1333 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1));1393 }1394 1395 {1396 1334 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1397 1335 } 1398 1336 1399 1337 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 1406 1338 } 1407 1339 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1424 1356 } 1425 1357 1426 {1427 ((void)abort());1428 }1429 1430 1358 } 1431 1359 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1432 struct __attribute__ ((aligned( 16))) S {1360 struct __attribute__ ((aligned(64))) S { 1433 1361 signed int _X1ii_2; 1434 1362 }; … … 1487 1415 } 1488 1416 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } 1417 } -
tests/Makefile.am
rc699602 r2e0bb92 61 61 # Tests that need investigation from the CFA team about why they require lax wflags. Goal is to eliminate this list. 62 62 WFLGAS_OPT_LAX_TO_INVESTIGATE = \ 63 attributes \ 64 collections/queue \ 65 collections/sequence \ 66 collections/stack \ 63 67 collections/vector-demo \ 64 68 concurrency/actors/dynamic \ … … 93 97 concurrency/waituntil/repeat_close \ 94 98 concurrency/waituntil/timeout \ 99 configs/usage \ 100 ctrl-flow/labelledExit \ 101 ctrl-flow/loop_else \ 95 102 designations \ 96 103 exceptions/cardgame \ -
tests/attributes.cfa
rc699602 r2e0bb92 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 7 // attributes.cfa -- 8 // 6 // 7 // attributes.cfa -- 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon Feb 6 16:07:02 2017 … … 12 12 // Last Modified On : Fri Dec 20 15:32:21 2024 13 13 // Update Count : 53 14 // 14 // 15 15 16 #pragma GCC diagnostic ignored "-Wattributes"17 16 18 17 // label attribute 19 18 int la() { 20 19 L: __attribute__(( unused )) 1; 21 return 1;22 20 } 23 21 … … 66 64 // function_declarator 67 65 __attribute__(( unused )) int f1() __attribute__(( used )); 68 __attribute__(( unused )) int f1() { return 1;}66 __attribute__(( unused )) int f1() {} 69 67 __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() {} 71 69 __attribute__(( unused )) int (* __attribute__(( unused )) f3(int))[] __attribute__(( used )); 72 70 __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))[] {} 75 73 __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) {} 79 77 80 78 81 79 // variable_type_redeclarator 82 80 typedef int t1, t2, t3, t4, t5, t6, t7, t8; 83 voidvtr() {81 int vtr() { 84 82 // redefine typedef name in new scope 85 83 __attribute__(( unused )) int __attribute__(( unused )) t1 __attribute__(( used )); … … 94 92 95 93 // identifier_parameter_declarator 96 voidipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),94 int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )), 97 95 __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ); 98 voidipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),96 int ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )), 99 97 __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ) {} 100 voidipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),98 int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )), 101 99 __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ); 102 voidipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),100 int ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )), 103 101 __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ) {} 104 voidipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),102 int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )), 105 103 __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ); 106 voidipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),104 int ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )), 107 105 __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ) {} 108 voidipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),106 int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )), 109 107 __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ); 110 voidipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),108 int ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )), 111 109 __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ) {} 112 110 … … 124 122 125 123 // abstract_declarator 126 voidad() {124 int ad() { 127 125 typeof( int __attribute__(( used )) ) ad1 __attribute__(( unused )); 128 126 typeof( int __attribute__(( unused )) * __attribute__(( unused )) ) ad2 __attribute__(( unused )); … … 159 157 // variable_abstract_declarator 160 158 struct Vad { 161 int __attribute__(( unused )) x;159 int __attribute__(( unused )); 162 160 int __attribute__(( unused )) :4; 163 161 int __attribute__(( unused )) :4, __attribute__(( unused )) :6; … … 176 174 3; 177 175 } 178 abort();179 176 } 180 177 181 178 @[ noreturn ] void mary() { 182 @[aligned( 16)] struct S { int i; };179 @[aligned(64)] struct S { int i; }; 183 180 int @[unused] i; 184 181 switch ( 3 ) { … … 190 187 3; 191 188 } 192 abort();193 189 } 194 190 -
tests/collections/queue.cfa
rc699602 r2e0bb92 28 28 } 29 29 sout | "empty" | nl; 30 30 31 31 for ( i; 10 ) { 32 32 add( fred, *new( 2 * i ) ); … … 48 48 } 49 49 sout | nl; 50 50 51 51 for ( i; 10 ) { 52 52 add( fred, *new( 2 * i + 1 ) ); … … 133 133 int j; 134 134 }; 135 __attribute__((unused))136 135 void ?{}( Mary & mary ) { abort(); } 137 136 void ?{}( Mary & mary, int p ) with( mary ) { … … 151 150 } 152 151 sout | "empty" | nl; 153 152 154 153 for ( i; 10 ) { 155 154 add( mary, *new( 2 * i ) ); … … 162 161 } 163 162 sout | nl; 164 163 165 164 for ( i; 9 ) { 166 165 delete( &drop( mary ) ); … … 171 170 } 172 171 sout | nl; 173 172 174 173 for ( i; 10 ) { 175 174 add( mary, *new( 2 * i + 1 ) ); -
tests/collections/sequence.cfa
rc699602 r2e0bb92 31 31 } 32 32 sout | "empty" | nl; 33 33 34 34 for ( i; 10 ) { 35 35 add( fred, *new( 2 * i ) ); … … 51 51 } 52 52 sout | nl; 53 53 54 54 for ( i; 10 ) { 55 55 addTail( fred, *new( 2 * i + 1 ) ); … … 156 156 int j; 157 157 }; 158 __attribute__((unused))159 158 void ?{}( Mary & mary ) { abort(); } 160 159 void ?{}( Mary & mary, int p ) with( mary ) { … … 177 176 } 178 177 sout | "empty" | nl; 179 178 180 179 for ( i; 10 ) { 181 180 add( mary, *new( 2 * i ) ); … … 188 187 } 189 188 sout | nl; 190 189 191 190 for ( i; 9 ) { 192 191 delete( &dropHead( mary ) ); … … 197 196 } 198 197 sout | nl; 199 198 200 199 for ( i; 10 ) { 201 200 addTail( mary, *new( 2 * i + 1 ) ); -
tests/collections/stack.cfa
rc699602 r2e0bb92 28 28 } 29 29 sout | "empty" | nl; 30 30 31 31 for ( i; 10 ) { 32 32 push( fred, *new( 2 * i ) ); … … 39 39 40 40 sout | head( fred ).i | nl; 41 41 42 42 for ( i; 9 ) { 43 43 delete( &pop( fred ) ); … … 48 48 } 49 49 sout | nl; 50 50 51 51 for ( i; 10 ) { 52 52 push( fred, *new( 2 * i + 1 ) ); … … 67 67 int j; 68 68 }; 69 __attribute__((unused))70 69 void ?{}( Mary & mary ) { abort(); } 71 70 void ?{}( Mary & mary, int p ) with( mary ) { … … 86 85 } 87 86 sout | "empty" | nl; 88 87 89 88 for ( i; 10 ) { 90 89 push( mary, *new( 2 * i ) ); … … 95 94 } 96 95 sout | nl; 97 96 98 97 for ( i; 9 ) { 99 98 delete( &pop( mary ) ); … … 104 103 } 105 104 sout | nl; 106 105 107 106 for ( i; 10 ) { 108 107 push( mary, *new( 2 * i + 1 ) ); -
tests/collections/vector-demo.cfa
rc699602 r2e0bb92 96 96 #endif 97 97 98 // forbid calling a function that returns permit by value99 #ifdef TRY_RETURN_PERMIT_BYVAL_1100 98 // can declare function that returns permit (wish to forbid) 101 99 vector_permit(float) g( vector( float ) & theVec ) { … … 103 101 } 104 102 103 // forbid calling a function that returns permit by value 104 #ifdef TRY_RETURN_PERMIT_BYVAL_1 105 105 vector_permit(float) ofG = g( v ); // Unique best alternative includes deleted identifier 106 106 #endif 107 107 108 108 // allow declaration of permit, populating from exit 109 109 vector_exit(float) h( vector( float ) & theVec ) { -
tests/configs/usage.cfa
rc699602 r2e0bb92 108 108 109 109 // no used 110 static int true_main( const char *, const char * []) { return 0; } 111 __attribute__((unused)) static void check_main(const char *); 110 static int true_main( const char * path, const char * env[]) { return 0; } -
tests/ctrl-flow/labelledExit.cfa
rc699602 r2e0bb92 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 7 // labelledExit.cfa -- 8 // 6 // 7 // labelledExit.cfa -- 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 10 07:29:39 2016 … … 12 12 // Last Modified On : Fri Jan 17 14:18:15 2025 13 13 // Update Count : 14 14 // 14 // 15 15 16 16 int foo() { 17 int i = 0;18 int x = 0, y = 0;17 int i; 18 int x, y; 19 19 20 // block, labelled exits 20 x = 0; y = 0; 21 22 // block, labelled exits 21 23 22 24 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 } 30 32 31 // loops, labelled exits33 // loops, labelled exits 32 34 33 w1: while ( y == 10 ) break w1;35 w1: while ( y == 10 ); 34 36 35 37 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 } 41 43 42 44 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 } 59 61 60 62 D: for () { 61 break D;62 continue D;63 }63 break D; 64 continue D; 65 } 64 66 65 67 Z : i += 1; 66 goto Z;68 goto Z; 67 69 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 } 74 76 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 } 88 90 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 ) ; 93 95 L0: L1: L2: L3: L4: L5: L6: L7: L8: L9: 94 96 L10: L11: L12: L13: L14: L15: L16: L17: L18: L19: 95 97 L20: L21: L22: L23: L24: L25: L26: L27: L28: L29: 96 98 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 } 106 102 107 // switch/choose, labelled exits103 // switch/choose, labelled exits 108 104 109 105 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 } 124 119 125 120 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 } 142 137 143 // all nested control options, labelled exits138 // all nested control options, labelled exits 144 139 145 140 Comp: { … … 153 148 break Try; 154 149 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; 160 155 } // switch 161 156 } // if … … 183 178 } 184 179 185 int main( ) {180 int main( int argc, char const *argv[] ) { 186 181 printf("done\n"); 187 182 } -
tests/ctrl-flow/loop_else.cfa
rc699602 r2e0bb92 23 23 24 24 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; 28 28 29 29 do { sout | "false"; } while (false) else { sout | "else"; } sout | nl | nl;
Note:
See TracChangeset
for help on using the changeset viewer.