|
56 | 56 | __cpp_lib_complex_udls 201309L [C++14] |
57 | 57 | __cpp_lib_concepts 202002L [C++20] |
58 | 58 | __cpp_lib_constexpr_algorithms 201806L [C++20] |
| 59 | + __cpp_lib_constexpr_atomic 202406L [C++26] |
59 | 60 | __cpp_lib_constexpr_bitset 202207L [C++23] |
60 | 61 | __cpp_lib_constexpr_charconv 202207L [C++23] |
61 | 62 | __cpp_lib_constexpr_cmath 202202L [C++23] |
|
402 | 403 | # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" |
403 | 404 | # endif |
404 | 405 |
|
| 406 | +# ifdef __cpp_lib_constexpr_atomic |
| 407 | +# error "__cpp_lib_constexpr_atomic should not be defined before c++26" |
| 408 | +# endif |
| 409 | + |
405 | 410 | # ifdef __cpp_lib_constexpr_bitset |
406 | 411 | # error "__cpp_lib_constexpr_bitset should not be defined before c++23" |
407 | 412 | # endif |
|
1266 | 1271 | # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" |
1267 | 1272 | # endif |
1268 | 1273 |
|
| 1274 | +# ifdef __cpp_lib_constexpr_atomic |
| 1275 | +# error "__cpp_lib_constexpr_atomic should not be defined before c++26" |
| 1276 | +# endif |
| 1277 | + |
1269 | 1278 | # ifdef __cpp_lib_constexpr_bitset |
1270 | 1279 | # error "__cpp_lib_constexpr_bitset should not be defined before c++23" |
1271 | 1280 | # endif |
|
2232 | 2241 | # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" |
2233 | 2242 | # endif |
2234 | 2243 |
|
| 2244 | +# ifdef __cpp_lib_constexpr_atomic |
| 2245 | +# error "__cpp_lib_constexpr_atomic should not be defined before c++26" |
| 2246 | +# endif |
| 2247 | + |
2235 | 2248 | # ifdef __cpp_lib_constexpr_bitset |
2236 | 2249 | # error "__cpp_lib_constexpr_bitset should not be defined before c++23" |
2237 | 2250 | # endif |
|
3438 | 3451 | # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20" |
3439 | 3452 | # endif |
3440 | 3453 |
|
| 3454 | +# ifdef __cpp_lib_constexpr_atomic |
| 3455 | +# error "__cpp_lib_constexpr_atomic should not be defined before c++26" |
| 3456 | +# endif |
| 3457 | + |
3441 | 3458 | # ifdef __cpp_lib_constexpr_bitset |
3442 | 3459 | # error "__cpp_lib_constexpr_bitset should not be defined before c++23" |
3443 | 3460 | # endif |
|
4857 | 4874 | # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23" |
4858 | 4875 | # endif |
4859 | 4876 |
|
| 4877 | +# ifdef __cpp_lib_constexpr_atomic |
| 4878 | +# error "__cpp_lib_constexpr_atomic should not be defined before c++26" |
| 4879 | +# endif |
| 4880 | + |
4860 | 4881 | # ifndef __cpp_lib_constexpr_bitset |
4861 | 4882 | # error "__cpp_lib_constexpr_bitset should be defined in c++23" |
4862 | 4883 | # endif |
|
6492 | 6513 | # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++26" |
6493 | 6514 | # endif |
6494 | 6515 |
|
| 6516 | +# if __has_constexpr_builtin(__c11_atomic_load) |
| 6517 | +# ifndef __cpp_lib_constexpr_atomic |
| 6518 | +# error "__cpp_lib_constexpr_atomic should be defined in c++26" |
| 6519 | +# endif |
| 6520 | +# if __cpp_lib_constexpr_atomic != 202406L |
| 6521 | +# error "__cpp_lib_constexpr_atomic should have the value 202406L in c++26" |
| 6522 | +# endif |
| 6523 | +# else |
| 6524 | +# ifdef __cpp_lib_constexpr_atomic |
| 6525 | +# error "__cpp_lib_constexpr_atomic should not be defined when the requirement '__has_constexpr_builtin(__c11_atomic_load)' is not met!" |
| 6526 | +# endif |
| 6527 | +# endif |
| 6528 | + |
6495 | 6529 | # ifndef __cpp_lib_constexpr_bitset |
6496 | 6530 | # error "__cpp_lib_constexpr_bitset should be defined in c++26" |
6497 | 6531 | # endif |
|
0 commit comments