Changeset c699602
- Timestamp:
- Jan 28, 2025, 10:11:24 PM (2 months ago)
- 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. - Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified libcfa/src/concurrency/future.hfa ¶
r2e0bb92 rc699602 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&)*( &this+sizeof(monitor$)) );262 reset( (future_t&)*(future_t*)((uintptr_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&)*( &this+sizeof(monitor$)) ) != 0p;268 return fulfil( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) ) != 0p; 269 269 } 270 270 … … 275 275 bool w = !sw; 276 276 if ( sw ) { 277 w = wait( (future_t&)*( &this+sizeof(monitor$)) );277 w = wait( (future_t&)*(future_t*)((uintptr_t)&this + sizeof(monitor$)) ); 278 278 $first_done( this ); 279 279 } -
TabularUnified tests/.expect/attributes.arm64.txt ¶
r2e0bb92 rc699602 1 2 #pragma GCC diagnostic ignored "-Wattributes" 3 ; 1 4 signed int _X2laFi___1(void){ 2 5 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 5 8 } 6 9 10 { 11 ((void)(_X10_retval_lai_1=1) /* ?{} */); 12 } 13 14 return _X10_retval_lai_1; 7 15 } 8 16 struct __attribute__ ((unused)) __anonymous0 { … … 1159 1167 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1160 1168 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 { 1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */); 1171 } 1172 1173 return _X10_retval_f1i_1; 1161 1174 } 1162 1175 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1163 1176 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1164 1177 __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; 1165 1183 } 1166 1184 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1168 1186 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1169 1187 __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; 1170 1197 } 1171 1198 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1172 1199 __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; 1173 1209 } 1174 1210 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1175 1211 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1176 1212 __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; 1177 1218 } 1178 1219 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1179 1220 __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; 1180 1226 } 1181 1227 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1182 1228 __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 } 1235 void _X3vtrFv___1(void){ 1186 1236 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1187 1237 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1192 1242 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1193 1243 } 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; 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)){ 1209 1255 } 1210 1256 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1215 1261 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1216 1262 signed 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; 1263 void _X2adFv___1(void){ 1219 1264 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1220 1265 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1319 1364 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)); 1320 1365 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1; 1321 1367 __attribute__ ((unused)) signed int :4; 1322 1368 __attribute__ ((unused)) signed int :4; … … 1324 1370 }; 1325 1371 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 1326 1376 } 1327 1377 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 1328 1382 } 1329 1383 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 1330 1388 } 1331 1389 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1332 1390 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1333 1391 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1)); 1393 } 1394 1395 { 1334 1396 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1335 1397 } 1336 1398 1337 1399 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 1338 1406 } 1339 1407 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1356 1424 } 1357 1425 1426 { 1427 ((void)abort()); 1428 } 1429 1358 1430 } 1359 1431 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1360 struct __attribute__ ((aligned( 64))) S {1432 struct __attribute__ ((aligned(16))) S { 1361 1433 signed int _X1ii_2; 1362 1434 }; … … 1415 1487 } 1416 1488 1417 } 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } -
TabularUnified tests/.expect/attributes.x64.txt ¶
r2e0bb92 rc699602 1 2 #pragma GCC diagnostic ignored "-Wattributes" 3 ; 1 4 signed int _X2laFi___1(void){ 2 5 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 5 8 } 6 9 10 { 11 ((void)(_X10_retval_lai_1=1) /* ?{} */); 12 } 13 14 return _X10_retval_lai_1; 7 15 } 8 16 struct __attribute__ ((unused)) __anonymous0 { … … 1159 1167 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1160 1168 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 { 1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */); 1171 } 1172 1173 return _X10_retval_f1i_1; 1161 1174 } 1162 1175 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1163 1176 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1164 1177 __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; 1165 1183 } 1166 1184 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1168 1186 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1169 1187 __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; 1170 1197 } 1171 1198 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1172 1199 __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; 1173 1209 } 1174 1210 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1175 1211 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1176 1212 __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; 1177 1218 } 1178 1219 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1179 1220 __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; 1180 1226 } 1181 1227 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1182 1228 __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 } 1235 void _X3vtrFv___1(void){ 1186 1236 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1187 1237 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1192 1242 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1193 1243 } 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; 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)){ 1209 1255 } 1210 1256 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1215 1261 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1216 1262 signed 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; 1263 void _X2adFv___1(void){ 1219 1264 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1220 1265 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1319 1364 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)); 1320 1365 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1; 1321 1367 __attribute__ ((unused)) signed int :4; 1322 1368 __attribute__ ((unused)) signed int :4; … … 1324 1370 }; 1325 1371 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 1326 1376 } 1327 1377 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 1328 1382 } 1329 1383 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 1330 1388 } 1331 1389 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1332 1390 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1333 1391 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1)); 1393 } 1394 1395 { 1334 1396 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1335 1397 } 1336 1398 1337 1399 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 1338 1406 } 1339 1407 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1356 1424 } 1357 1425 1426 { 1427 ((void)abort()); 1428 } 1429 1358 1430 } 1359 1431 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1360 struct __attribute__ ((aligned( 64))) S {1432 struct __attribute__ ((aligned(16))) S { 1361 1433 signed int _X1ii_2; 1362 1434 }; … … 1415 1487 } 1416 1488 1417 } 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } -
TabularUnified tests/.expect/attributes.x86.txt ¶
r2e0bb92 rc699602 1 2 #pragma GCC diagnostic ignored "-Wattributes" 3 ; 1 4 signed int _X2laFi___1(void){ 2 5 __attribute__ ((unused)) signed int _X10_retval_lai_1; … … 5 8 } 6 9 10 { 11 ((void)(_X10_retval_lai_1=1) /* ?{} */); 12 } 13 14 return _X10_retval_lai_1; 7 15 } 8 16 struct __attribute__ ((unused)) __anonymous0 { … … 1159 1167 __attribute__ ((unused)) signed int _X2f1Fi___1(void){ 1160 1168 __attribute__ ((unused)) signed int _X10_retval_f1i_1; 1169 { 1170 ((void)(_X10_retval_f1i_1=1) /* ?{} */); 1171 } 1172 1173 return _X10_retval_f1i_1; 1161 1174 } 1162 1175 __attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1(void); 1163 1176 __attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(void){ 1164 1177 __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; 1165 1183 } 1166 1184 __attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[]; … … 1168 1186 __attribute__ ((unused,unused)) signed int (*_X2f5FPA0i_i__1(signed int _X1pi_1))[]{ 1169 1187 __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; 1170 1197 } 1171 1198 __attribute__ ((unused,unused)) signed int (*_X2f6FPA0i_i__1(signed int _X1pi_1))[]{ 1172 1199 __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; 1173 1209 } 1174 1210 __attribute__ ((unused,used,unused)) signed int (*_X2f7FFi_i____1(void))(signed int __param_0); 1175 1211 __attribute__ ((unused,unused)) signed int (*_X2f8FFi_i____1(void))(signed int __param_0){ 1176 1212 __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; 1177 1218 } 1178 1219 __attribute__ ((unused,unused)) signed int (*_X2f9FFi_i____1(void))(signed int __param_0){ 1179 1220 __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; 1180 1226 } 1181 1227 __attribute__ ((unused,unused)) signed int (*_X3f10FFi_i____1(void))(signed int __param_0){ 1182 1228 __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 } 1235 void _X3vtrFv___1(void){ 1186 1236 __attribute__ ((unused,unused,used)) signed int _X2t1i_2; 1187 1237 __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2; … … 1192 1242 __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2(void); 1193 1243 } 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; 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)){ 1209 1255 } 1210 1256 signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1); … … 1215 1261 signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)(void)); 1216 1262 signed 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; 1263 void _X2adFv___1(void){ 1219 1264 __attribute__ ((used,unused)) signed int _X3ad1i_2; 1220 1265 __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2; … … 1319 1364 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)); 1320 1365 struct Vad { 1366 __attribute__ ((unused)) signed int _X1xi_1; 1321 1367 __attribute__ ((unused)) signed int :4; 1322 1368 __attribute__ ((unused)) signed int :4; … … 1324 1370 }; 1325 1371 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 1326 1376 } 1327 1377 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 1328 1382 } 1329 1383 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 1330 1388 } 1331 1389 static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(__attribute__ ((unused)) struct Vad *_X4_dstS3Vad_1, __attribute__ ((unused)) struct Vad _X4_srcS3Vad_1){ 1332 1390 __attribute__ ((unused)) struct Vad _X4_retS3Vad_1; 1333 1391 { 1392 ((void)((*_X4_dstS3Vad_1)._X1xi_1=_X4_srcS3Vad_1._X1xi_1)); 1393 } 1394 1395 { 1334 1396 ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1))); 1335 1397 } 1336 1398 1337 1399 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 1338 1406 } 1339 1407 __attribute__ (( noreturn )) void _X4fredFv___1(void){ … … 1356 1424 } 1357 1425 1426 { 1427 ((void)abort()); 1428 } 1429 1358 1430 } 1359 1431 __attribute__ ((noreturn)) void _X4maryFv___1(void){ 1360 struct __attribute__ ((aligned( 64))) S {1432 struct __attribute__ ((aligned(16))) S { 1361 1433 signed int _X1ii_2; 1362 1434 }; … … 1415 1487 } 1416 1488 1417 } 1489 { 1490 ((void)abort()); 1491 } 1492 1493 } -
TabularUnified tests/Makefile.am ¶
r2e0bb92 rc699602 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 \67 63 collections/vector-demo \ 68 64 concurrency/actors/dynamic \ … … 97 93 concurrency/waituntil/repeat_close \ 98 94 concurrency/waituntil/timeout \ 99 configs/usage \100 ctrl-flow/labelledExit \101 ctrl-flow/loop_else \102 95 designations \ 103 96 exceptions/cardgame \ -
TabularUnified tests/attributes.cfa ¶
r2e0bb92 rc699602 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" 16 17 17 18 // label attribute 18 19 int la() { 19 20 L: __attribute__(( unused )) 1; 21 return 1; 20 22 } 21 23 … … 64 66 // function_declarator 65 67 __attribute__(( unused )) int f1() __attribute__(( used )); 66 __attribute__(( unused )) int f1() { }68 __attribute__(( unused )) int f1() { return 1; } 67 69 __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; } 69 71 __attribute__(( unused )) int (* __attribute__(( unused )) f3(int))[] __attribute__(( used )); 70 72 __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; } 73 75 __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; } 77 79 78 80 79 81 // variable_type_redeclarator 80 82 typedef int t1, t2, t3, t4, t5, t6, t7, t8; 81 intvtr() {83 void vtr() { 82 84 // redefine typedef name in new scope 83 85 __attribute__(( unused )) int __attribute__(( unused )) t1 __attribute__(( used )); … … 92 94 93 95 // identifier_parameter_declarator 94 intipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),96 void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )), 95 97 __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ); 96 intipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )),98 void ipd1( __attribute__(( unused )) int __attribute__(( unused )) p __attribute__(( unused )), 97 99 __attribute__(( unused )) int __attribute__(( unused )) q __attribute__(( unused )) ) {} 98 intipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),100 void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )), 99 101 __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ); 100 intipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )),102 void ipd2( __attribute__(( unused )) int __attribute__(( unused )) * __attribute__(( unused )) p __attribute__(( unused )), 101 103 __attribute__(( unused )) int __attribute__(( unused )) (* (q)) __attribute__(( unused )) ) {} 102 intipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),104 void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )), 103 105 __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ); 104 intipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )),106 void ipd3( __attribute__(( unused )) int __attribute__(( unused )) p[] __attribute__(( unused )), 105 107 __attribute__(( unused )) int __attribute__(( unused )) ((q)[]) __attribute__(( unused )) ) {} 106 intipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),108 void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )), 107 109 __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ); 108 intipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )),110 void ipd4( __attribute__(( unused )) int __attribute__(( unused )) p() __attribute__(( unused )), 109 111 __attribute__(( unused )) int __attribute__(( unused )) ((q)()) __attribute__(( unused )) ) {} 110 112 … … 122 124 123 125 // abstract_declarator 124 intad() {126 void ad() { 125 127 typeof( int __attribute__(( used )) ) ad1 __attribute__(( unused )); 126 128 typeof( int __attribute__(( unused )) * __attribute__(( unused )) ) ad2 __attribute__(( unused )); … … 157 159 // variable_abstract_declarator 158 160 struct Vad { 159 int __attribute__(( unused )) ;161 int __attribute__(( unused )) x; 160 162 int __attribute__(( unused )) :4; 161 163 int __attribute__(( unused )) :4, __attribute__(( unused )) :6; … … 174 176 3; 175 177 } 178 abort(); 176 179 } 177 180 178 181 @[ noreturn ] void mary() { 179 @[aligned( 64)] struct S { int i; };182 @[aligned(16)] struct S { int i; }; 180 183 int @[unused] i; 181 184 switch ( 3 ) { … … 187 190 3; 188 191 } 192 abort(); 189 193 } 190 194 -
TabularUnified tests/collections/queue.cfa ¶
r2e0bb92 rc699602 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)) 135 136 void ?{}( Mary & mary ) { abort(); } 136 137 void ?{}( Mary & mary, int p ) with( mary ) { … … 150 151 } 151 152 sout | "empty" | nl; 152 153 153 154 for ( i; 10 ) { 154 155 add( mary, *new( 2 * i ) ); … … 161 162 } 162 163 sout | nl; 163 164 164 165 for ( i; 9 ) { 165 166 delete( &drop( mary ) ); … … 170 171 } 171 172 sout | nl; 172 173 173 174 for ( i; 10 ) { 174 175 add( mary, *new( 2 * i + 1 ) ); -
TabularUnified tests/collections/sequence.cfa ¶
r2e0bb92 rc699602 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)) 158 159 void ?{}( Mary & mary ) { abort(); } 159 160 void ?{}( Mary & mary, int p ) with( mary ) { … … 176 177 } 177 178 sout | "empty" | nl; 178 179 179 180 for ( i; 10 ) { 180 181 add( mary, *new( 2 * i ) ); … … 187 188 } 188 189 sout | nl; 189 190 190 191 for ( i; 9 ) { 191 192 delete( &dropHead( mary ) ); … … 196 197 } 197 198 sout | nl; 198 199 199 200 for ( i; 10 ) { 200 201 addTail( mary, *new( 2 * i + 1 ) ); -
TabularUnified tests/collections/stack.cfa ¶
r2e0bb92 rc699602 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)) 69 70 void ?{}( Mary & mary ) { abort(); } 70 71 void ?{}( Mary & mary, int p ) with( mary ) { … … 85 86 } 86 87 sout | "empty" | nl; 87 88 88 89 for ( i; 10 ) { 89 90 push( mary, *new( 2 * i ) ); … … 94 95 } 95 96 sout | nl; 96 97 97 98 for ( i; 9 ) { 98 99 delete( &pop( mary ) ); … … 103 104 } 104 105 sout | nl; 105 106 106 107 for ( i; 10 ) { 107 108 push( mary, *new( 2 * i + 1 ) ); -
TabularUnified tests/collections/vector-demo.cfa ¶
r2e0bb92 rc699602 96 96 #endif 97 97 98 // forbid calling a function that returns permit by value 99 #ifdef TRY_RETURN_PERMIT_BYVAL_1 98 100 // can declare function that returns permit (wish to forbid) 99 101 vector_permit(float) g( vector( float ) & theVec ) { … … 101 103 } 102 104 103 // forbid calling a function that returns permit by value104 #ifdef TRY_RETURN_PERMIT_BYVAL_1105 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 ) { -
TabularUnified tests/configs/usage.cfa ¶
r2e0bb92 rc699602 108 108 109 109 // no used 110 static int true_main( const char * path, const char * env[]) { return 0; } 110 static 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 // 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;18 int x, y;17 int i = 0; 18 int x = 0, y = 0; 19 19 20 x = 0; y = 0; 21 22 // block, labelled exits 20 // block, labelled exits 23 21 24 22 Block: { 25 26 27 28 29 30 31 23 if ( x == y ) { 24 for ( ; i < y; ) { 25 y += 1; 26 if ( y < 10 ) break Block; 27 } 28 } 29 } 32 30 33 31 // loops, labelled exits 34 32 35 w1: while ( y == 10 ) ;33 w1: while ( y == 10 ) break w1; 36 34 37 35 w2: while ( x < 10 ) { 38 39 40 41 42 36 while (y < 5 ) { 37 if ( y == 3 ) break w2; 38 } 39 x += 1; 40 } 43 41 44 42 A: for ( i = 0; i < 10; i += 1 ) { 45 46 47 48 49 50 51 52 53 54 55 56 57 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 } 61 59 62 60 D: for () { 63 64 65 61 break D; 62 continue D; 63 } 66 64 67 65 Z : i += 1; 68 66 goto Z; 69 67 X: Y: for () { 70 71 72 73 74 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 } 76 74 XX: for () { 77 78 79 80 81 82 83 84 85 86 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 } 90 88 91 92 for ( int i = 0 ;; );93 94 89 for () ; 90 for ( int i = 0 ;; ) ++i; 91 for ( ; i < 0; ) ; 92 for ( ; ; i += 1 ) ; 95 93 L0: L1: L2: L3: L4: L5: L6: L7: L8: L9: 96 94 L10: L11: L12: L13: L14: L15: L16: L17: L18: L19: 97 95 L20: L21: L22: L23: L24: L25: L26: L27: L28: L29: 98 96 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 } 102 106 103 107 // switch/choose, labelled exits 104 108 105 109 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 } 119 124 120 125 Choose: choose ( i ) { 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 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 } 137 142 138 143 // all nested control options, labelled exits 139 144 140 145 Comp: { … … 148 153 break Try; 149 154 break Comp; 150 151 152 153 154 155 break For; continue For; 156 break While; continue While; 157 break Do; continue Do; 158 break If; 159 break Switch2; 155 160 } // switch 156 161 } // if … … 178 183 } 179 184 180 int main( int argc, char const *argv[]) {185 int main() { 181 186 printf("done\n"); 182 187 } -
TabularUnified tests/ctrl-flow/loop_else.cfa ¶
r2e0bb92 rc699602 23 23 24 24 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; 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.