1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // WARNING: This test was generated by generate_feature_test_macro_components.py 10 // and should not be edited manually. 11 // 12 // clang-format off 13 14 // <memory> 15 16 // Test the feature test macros defined by <memory> 17 18 /* Constant Value 19 __cpp_lib_addressof_constexpr 201603L [C++17] 20 __cpp_lib_allocate_at_least 202302L [C++23] 21 __cpp_lib_allocator_traits_is_always_equal 201411L [C++17] 22 __cpp_lib_assume_aligned 201811L [C++20] 23 __cpp_lib_atomic_value_initialization 201911L [C++20] 24 __cpp_lib_constexpr_dynamic_alloc 201907L [C++20] 25 __cpp_lib_constexpr_memory 201811L [C++20] 26 202202L [C++23] 27 __cpp_lib_enable_shared_from_this 201603L [C++17] 28 __cpp_lib_make_unique 201304L [C++14] 29 __cpp_lib_out_ptr 202106L [C++23] 30 202311L [C++26] 31 __cpp_lib_ranges 202110L [C++20] 32 202406L [C++23] 33 __cpp_lib_raw_memory_algorithms 201606L [C++17] 34 __cpp_lib_shared_ptr_arrays 201611L [C++17] 35 201707L [C++20] 36 __cpp_lib_shared_ptr_weak_type 201606L [C++17] 37 __cpp_lib_smart_ptr_for_overwrite 202002L [C++20] 38 __cpp_lib_smart_ptr_owner_equality 202306L [C++26] 39 __cpp_lib_to_address 201711L [C++20] 40 __cpp_lib_transparent_operators 201210L [C++14] 41 201510L [C++17] 42 */ 43 44 #include <memory> 45 #include "test_macros.h" 46 47 #if TEST_STD_VER < 14 48 49 # ifdef __cpp_lib_addressof_constexpr 50 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 51 # endif 52 53 # ifdef __cpp_lib_allocate_at_least 54 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 55 # endif 56 57 # ifdef __cpp_lib_allocator_traits_is_always_equal 58 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 59 # endif 60 61 # ifdef __cpp_lib_assume_aligned 62 # error "__cpp_lib_assume_aligned should not be defined before c++20" 63 # endif 64 65 # ifdef __cpp_lib_atomic_value_initialization 66 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 67 # endif 68 69 # ifdef __cpp_lib_constexpr_dynamic_alloc 70 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 71 # endif 72 73 # ifdef __cpp_lib_constexpr_memory 74 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 75 # endif 76 77 # ifdef __cpp_lib_enable_shared_from_this 78 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 79 # endif 80 81 # ifdef __cpp_lib_make_unique 82 # error "__cpp_lib_make_unique should not be defined before c++14" 83 # endif 84 85 # ifdef __cpp_lib_out_ptr 86 # error "__cpp_lib_out_ptr should not be defined before c++23" 87 # endif 88 89 # ifdef __cpp_lib_ranges 90 # error "__cpp_lib_ranges should not be defined before c++20" 91 # endif 92 93 # ifdef __cpp_lib_raw_memory_algorithms 94 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 95 # endif 96 97 # ifdef __cpp_lib_shared_ptr_arrays 98 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 99 # endif 100 101 # ifdef __cpp_lib_shared_ptr_weak_type 102 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 103 # endif 104 105 # ifdef __cpp_lib_smart_ptr_for_overwrite 106 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 107 # endif 108 109 # ifdef __cpp_lib_smart_ptr_owner_equality 110 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 111 # endif 112 113 # ifdef __cpp_lib_to_address 114 # error "__cpp_lib_to_address should not be defined before c++20" 115 # endif 116 117 # ifdef __cpp_lib_transparent_operators 118 # error "__cpp_lib_transparent_operators should not be defined before c++14" 119 # endif 120 121 #elif TEST_STD_VER == 14 122 123 # ifdef __cpp_lib_addressof_constexpr 124 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 125 # endif 126 127 # ifdef __cpp_lib_allocate_at_least 128 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 129 # endif 130 131 # ifdef __cpp_lib_allocator_traits_is_always_equal 132 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 133 # endif 134 135 # ifdef __cpp_lib_assume_aligned 136 # error "__cpp_lib_assume_aligned should not be defined before c++20" 137 # endif 138 139 # ifdef __cpp_lib_atomic_value_initialization 140 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 141 # endif 142 143 # ifdef __cpp_lib_constexpr_dynamic_alloc 144 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 145 # endif 146 147 # ifdef __cpp_lib_constexpr_memory 148 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 149 # endif 150 151 # ifdef __cpp_lib_enable_shared_from_this 152 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 153 # endif 154 155 # ifndef __cpp_lib_make_unique 156 # error "__cpp_lib_make_unique should be defined in c++14" 157 # endif 158 # if __cpp_lib_make_unique != 201304L 159 # error "__cpp_lib_make_unique should have the value 201304L in c++14" 160 # endif 161 162 # ifdef __cpp_lib_out_ptr 163 # error "__cpp_lib_out_ptr should not be defined before c++23" 164 # endif 165 166 # ifdef __cpp_lib_ranges 167 # error "__cpp_lib_ranges should not be defined before c++20" 168 # endif 169 170 # ifdef __cpp_lib_raw_memory_algorithms 171 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 172 # endif 173 174 # ifdef __cpp_lib_shared_ptr_arrays 175 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 176 # endif 177 178 # ifdef __cpp_lib_shared_ptr_weak_type 179 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 180 # endif 181 182 # ifdef __cpp_lib_smart_ptr_for_overwrite 183 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 184 # endif 185 186 # ifdef __cpp_lib_smart_ptr_owner_equality 187 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 188 # endif 189 190 # ifdef __cpp_lib_to_address 191 # error "__cpp_lib_to_address should not be defined before c++20" 192 # endif 193 194 # ifndef __cpp_lib_transparent_operators 195 # error "__cpp_lib_transparent_operators should be defined in c++14" 196 # endif 197 # if __cpp_lib_transparent_operators != 201210L 198 # error "__cpp_lib_transparent_operators should have the value 201210L in c++14" 199 # endif 200 201 #elif TEST_STD_VER == 17 202 203 # ifndef __cpp_lib_addressof_constexpr 204 # error "__cpp_lib_addressof_constexpr should be defined in c++17" 205 # endif 206 # if __cpp_lib_addressof_constexpr != 201603L 207 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17" 208 # endif 209 210 # ifdef __cpp_lib_allocate_at_least 211 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 212 # endif 213 214 # ifndef __cpp_lib_allocator_traits_is_always_equal 215 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17" 216 # endif 217 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 218 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17" 219 # endif 220 221 # ifdef __cpp_lib_assume_aligned 222 # error "__cpp_lib_assume_aligned should not be defined before c++20" 223 # endif 224 225 # ifdef __cpp_lib_atomic_value_initialization 226 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 227 # endif 228 229 # ifdef __cpp_lib_constexpr_dynamic_alloc 230 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 231 # endif 232 233 # ifdef __cpp_lib_constexpr_memory 234 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 235 # endif 236 237 # ifndef __cpp_lib_enable_shared_from_this 238 # error "__cpp_lib_enable_shared_from_this should be defined in c++17" 239 # endif 240 # if __cpp_lib_enable_shared_from_this != 201603L 241 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17" 242 # endif 243 244 # ifndef __cpp_lib_make_unique 245 # error "__cpp_lib_make_unique should be defined in c++17" 246 # endif 247 # if __cpp_lib_make_unique != 201304L 248 # error "__cpp_lib_make_unique should have the value 201304L in c++17" 249 # endif 250 251 # ifdef __cpp_lib_out_ptr 252 # error "__cpp_lib_out_ptr should not be defined before c++23" 253 # endif 254 255 # ifdef __cpp_lib_ranges 256 # error "__cpp_lib_ranges should not be defined before c++20" 257 # endif 258 259 # ifndef __cpp_lib_raw_memory_algorithms 260 # error "__cpp_lib_raw_memory_algorithms should be defined in c++17" 261 # endif 262 # if __cpp_lib_raw_memory_algorithms != 201606L 263 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17" 264 # endif 265 266 # ifndef __cpp_lib_shared_ptr_arrays 267 # error "__cpp_lib_shared_ptr_arrays should be defined in c++17" 268 # endif 269 # if __cpp_lib_shared_ptr_arrays != 201611L 270 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17" 271 # endif 272 273 # ifndef __cpp_lib_shared_ptr_weak_type 274 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++17" 275 # endif 276 # if __cpp_lib_shared_ptr_weak_type != 201606L 277 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17" 278 # endif 279 280 # ifdef __cpp_lib_smart_ptr_for_overwrite 281 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 282 # endif 283 284 # ifdef __cpp_lib_smart_ptr_owner_equality 285 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 286 # endif 287 288 # ifdef __cpp_lib_to_address 289 # error "__cpp_lib_to_address should not be defined before c++20" 290 # endif 291 292 # ifndef __cpp_lib_transparent_operators 293 # error "__cpp_lib_transparent_operators should be defined in c++17" 294 # endif 295 # if __cpp_lib_transparent_operators != 201510L 296 # error "__cpp_lib_transparent_operators should have the value 201510L in c++17" 297 # endif 298 299 #elif TEST_STD_VER == 20 300 301 # ifndef __cpp_lib_addressof_constexpr 302 # error "__cpp_lib_addressof_constexpr should be defined in c++20" 303 # endif 304 # if __cpp_lib_addressof_constexpr != 201603L 305 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20" 306 # endif 307 308 # ifdef __cpp_lib_allocate_at_least 309 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 310 # endif 311 312 # ifndef __cpp_lib_allocator_traits_is_always_equal 313 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20" 314 # endif 315 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 316 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20" 317 # endif 318 319 # ifndef __cpp_lib_assume_aligned 320 # error "__cpp_lib_assume_aligned should be defined in c++20" 321 # endif 322 # if __cpp_lib_assume_aligned != 201811L 323 # error "__cpp_lib_assume_aligned should have the value 201811L in c++20" 324 # endif 325 326 # ifndef __cpp_lib_atomic_value_initialization 327 # error "__cpp_lib_atomic_value_initialization should be defined in c++20" 328 # endif 329 # if __cpp_lib_atomic_value_initialization != 201911L 330 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20" 331 # endif 332 333 # ifndef __cpp_lib_constexpr_dynamic_alloc 334 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20" 335 # endif 336 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 337 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20" 338 # endif 339 340 # ifndef __cpp_lib_constexpr_memory 341 # error "__cpp_lib_constexpr_memory should be defined in c++20" 342 # endif 343 # if __cpp_lib_constexpr_memory != 201811L 344 # error "__cpp_lib_constexpr_memory should have the value 201811L in c++20" 345 # endif 346 347 # ifndef __cpp_lib_enable_shared_from_this 348 # error "__cpp_lib_enable_shared_from_this should be defined in c++20" 349 # endif 350 # if __cpp_lib_enable_shared_from_this != 201603L 351 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20" 352 # endif 353 354 # ifndef __cpp_lib_make_unique 355 # error "__cpp_lib_make_unique should be defined in c++20" 356 # endif 357 # if __cpp_lib_make_unique != 201304L 358 # error "__cpp_lib_make_unique should have the value 201304L in c++20" 359 # endif 360 361 # ifdef __cpp_lib_out_ptr 362 # error "__cpp_lib_out_ptr should not be defined before c++23" 363 # endif 364 365 # ifndef __cpp_lib_ranges 366 # error "__cpp_lib_ranges should be defined in c++20" 367 # endif 368 # if __cpp_lib_ranges != 202110L 369 # error "__cpp_lib_ranges should have the value 202110L in c++20" 370 # endif 371 372 # ifndef __cpp_lib_raw_memory_algorithms 373 # error "__cpp_lib_raw_memory_algorithms should be defined in c++20" 374 # endif 375 # if __cpp_lib_raw_memory_algorithms != 201606L 376 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20" 377 # endif 378 379 # ifndef __cpp_lib_shared_ptr_arrays 380 # error "__cpp_lib_shared_ptr_arrays should be defined in c++20" 381 # endif 382 # if __cpp_lib_shared_ptr_arrays != 201707L 383 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20" 384 # endif 385 386 # ifndef __cpp_lib_shared_ptr_weak_type 387 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++20" 388 # endif 389 # if __cpp_lib_shared_ptr_weak_type != 201606L 390 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20" 391 # endif 392 393 # ifndef __cpp_lib_smart_ptr_for_overwrite 394 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20" 395 # endif 396 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 397 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20" 398 # endif 399 400 # ifdef __cpp_lib_smart_ptr_owner_equality 401 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 402 # endif 403 404 # ifndef __cpp_lib_to_address 405 # error "__cpp_lib_to_address should be defined in c++20" 406 # endif 407 # if __cpp_lib_to_address != 201711L 408 # error "__cpp_lib_to_address should have the value 201711L in c++20" 409 # endif 410 411 # ifndef __cpp_lib_transparent_operators 412 # error "__cpp_lib_transparent_operators should be defined in c++20" 413 # endif 414 # if __cpp_lib_transparent_operators != 201510L 415 # error "__cpp_lib_transparent_operators should have the value 201510L in c++20" 416 # endif 417 418 #elif TEST_STD_VER == 23 419 420 # ifndef __cpp_lib_addressof_constexpr 421 # error "__cpp_lib_addressof_constexpr should be defined in c++23" 422 # endif 423 # if __cpp_lib_addressof_constexpr != 201603L 424 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23" 425 # endif 426 427 # ifndef __cpp_lib_allocate_at_least 428 # error "__cpp_lib_allocate_at_least should be defined in c++23" 429 # endif 430 # if __cpp_lib_allocate_at_least != 202302L 431 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++23" 432 # endif 433 434 # ifndef __cpp_lib_allocator_traits_is_always_equal 435 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23" 436 # endif 437 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 438 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23" 439 # endif 440 441 # ifndef __cpp_lib_assume_aligned 442 # error "__cpp_lib_assume_aligned should be defined in c++23" 443 # endif 444 # if __cpp_lib_assume_aligned != 201811L 445 # error "__cpp_lib_assume_aligned should have the value 201811L in c++23" 446 # endif 447 448 # ifndef __cpp_lib_atomic_value_initialization 449 # error "__cpp_lib_atomic_value_initialization should be defined in c++23" 450 # endif 451 # if __cpp_lib_atomic_value_initialization != 201911L 452 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23" 453 # endif 454 455 # ifndef __cpp_lib_constexpr_dynamic_alloc 456 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23" 457 # endif 458 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 459 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23" 460 # endif 461 462 # ifndef __cpp_lib_constexpr_memory 463 # error "__cpp_lib_constexpr_memory should be defined in c++23" 464 # endif 465 # if __cpp_lib_constexpr_memory != 202202L 466 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++23" 467 # endif 468 469 # ifndef __cpp_lib_enable_shared_from_this 470 # error "__cpp_lib_enable_shared_from_this should be defined in c++23" 471 # endif 472 # if __cpp_lib_enable_shared_from_this != 201603L 473 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23" 474 # endif 475 476 # ifndef __cpp_lib_make_unique 477 # error "__cpp_lib_make_unique should be defined in c++23" 478 # endif 479 # if __cpp_lib_make_unique != 201304L 480 # error "__cpp_lib_make_unique should have the value 201304L in c++23" 481 # endif 482 483 # ifndef __cpp_lib_out_ptr 484 # error "__cpp_lib_out_ptr should be defined in c++23" 485 # endif 486 # if __cpp_lib_out_ptr != 202106L 487 # error "__cpp_lib_out_ptr should have the value 202106L in c++23" 488 # endif 489 490 # ifndef __cpp_lib_ranges 491 # error "__cpp_lib_ranges should be defined in c++23" 492 # endif 493 # if __cpp_lib_ranges != 202406L 494 # error "__cpp_lib_ranges should have the value 202406L in c++23" 495 # endif 496 497 # ifndef __cpp_lib_raw_memory_algorithms 498 # error "__cpp_lib_raw_memory_algorithms should be defined in c++23" 499 # endif 500 # if __cpp_lib_raw_memory_algorithms != 201606L 501 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23" 502 # endif 503 504 # ifndef __cpp_lib_shared_ptr_arrays 505 # error "__cpp_lib_shared_ptr_arrays should be defined in c++23" 506 # endif 507 # if __cpp_lib_shared_ptr_arrays != 201707L 508 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23" 509 # endif 510 511 # ifndef __cpp_lib_shared_ptr_weak_type 512 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++23" 513 # endif 514 # if __cpp_lib_shared_ptr_weak_type != 201606L 515 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23" 516 # endif 517 518 # ifndef __cpp_lib_smart_ptr_for_overwrite 519 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23" 520 # endif 521 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 522 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23" 523 # endif 524 525 # ifdef __cpp_lib_smart_ptr_owner_equality 526 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 527 # endif 528 529 # ifndef __cpp_lib_to_address 530 # error "__cpp_lib_to_address should be defined in c++23" 531 # endif 532 # if __cpp_lib_to_address != 201711L 533 # error "__cpp_lib_to_address should have the value 201711L in c++23" 534 # endif 535 536 # ifndef __cpp_lib_transparent_operators 537 # error "__cpp_lib_transparent_operators should be defined in c++23" 538 # endif 539 # if __cpp_lib_transparent_operators != 201510L 540 # error "__cpp_lib_transparent_operators should have the value 201510L in c++23" 541 # endif 542 543 #elif TEST_STD_VER > 23 544 545 # ifndef __cpp_lib_addressof_constexpr 546 # error "__cpp_lib_addressof_constexpr should be defined in c++26" 547 # endif 548 # if __cpp_lib_addressof_constexpr != 201603L 549 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26" 550 # endif 551 552 # ifndef __cpp_lib_allocate_at_least 553 # error "__cpp_lib_allocate_at_least should be defined in c++26" 554 # endif 555 # if __cpp_lib_allocate_at_least != 202302L 556 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++26" 557 # endif 558 559 # ifndef __cpp_lib_allocator_traits_is_always_equal 560 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26" 561 # endif 562 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 563 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26" 564 # endif 565 566 # ifndef __cpp_lib_assume_aligned 567 # error "__cpp_lib_assume_aligned should be defined in c++26" 568 # endif 569 # if __cpp_lib_assume_aligned != 201811L 570 # error "__cpp_lib_assume_aligned should have the value 201811L in c++26" 571 # endif 572 573 # ifndef __cpp_lib_atomic_value_initialization 574 # error "__cpp_lib_atomic_value_initialization should be defined in c++26" 575 # endif 576 # if __cpp_lib_atomic_value_initialization != 201911L 577 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26" 578 # endif 579 580 # ifndef __cpp_lib_constexpr_dynamic_alloc 581 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26" 582 # endif 583 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 584 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26" 585 # endif 586 587 # ifndef __cpp_lib_constexpr_memory 588 # error "__cpp_lib_constexpr_memory should be defined in c++26" 589 # endif 590 # if __cpp_lib_constexpr_memory != 202202L 591 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++26" 592 # endif 593 594 # ifndef __cpp_lib_enable_shared_from_this 595 # error "__cpp_lib_enable_shared_from_this should be defined in c++26" 596 # endif 597 # if __cpp_lib_enable_shared_from_this != 201603L 598 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26" 599 # endif 600 601 # ifndef __cpp_lib_make_unique 602 # error "__cpp_lib_make_unique should be defined in c++26" 603 # endif 604 # if __cpp_lib_make_unique != 201304L 605 # error "__cpp_lib_make_unique should have the value 201304L in c++26" 606 # endif 607 608 # ifndef __cpp_lib_out_ptr 609 # error "__cpp_lib_out_ptr should be defined in c++26" 610 # endif 611 # if __cpp_lib_out_ptr != 202311L 612 # error "__cpp_lib_out_ptr should have the value 202311L in c++26" 613 # endif 614 615 # ifndef __cpp_lib_ranges 616 # error "__cpp_lib_ranges should be defined in c++26" 617 # endif 618 # if __cpp_lib_ranges != 202406L 619 # error "__cpp_lib_ranges should have the value 202406L in c++26" 620 # endif 621 622 # ifndef __cpp_lib_raw_memory_algorithms 623 # error "__cpp_lib_raw_memory_algorithms should be defined in c++26" 624 # endif 625 # if __cpp_lib_raw_memory_algorithms != 201606L 626 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26" 627 # endif 628 629 # ifndef __cpp_lib_shared_ptr_arrays 630 # error "__cpp_lib_shared_ptr_arrays should be defined in c++26" 631 # endif 632 # if __cpp_lib_shared_ptr_arrays != 201707L 633 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26" 634 # endif 635 636 # ifndef __cpp_lib_shared_ptr_weak_type 637 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++26" 638 # endif 639 # if __cpp_lib_shared_ptr_weak_type != 201606L 640 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26" 641 # endif 642 643 # ifndef __cpp_lib_smart_ptr_for_overwrite 644 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26" 645 # endif 646 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 647 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26" 648 # endif 649 650 # if !defined(_LIBCPP_VERSION) 651 # ifndef __cpp_lib_smart_ptr_owner_equality 652 # error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26" 653 # endif 654 # if __cpp_lib_smart_ptr_owner_equality != 202306L 655 # error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26" 656 # endif 657 # else // _LIBCPP_VERSION 658 # ifdef __cpp_lib_smart_ptr_owner_equality 659 # error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!" 660 # endif 661 # endif 662 663 # ifndef __cpp_lib_to_address 664 # error "__cpp_lib_to_address should be defined in c++26" 665 # endif 666 # if __cpp_lib_to_address != 201711L 667 # error "__cpp_lib_to_address should have the value 201711L in c++26" 668 # endif 669 670 # ifndef __cpp_lib_transparent_operators 671 # error "__cpp_lib_transparent_operators should be defined in c++26" 672 # endif 673 # if __cpp_lib_transparent_operators != 201510L 674 # error "__cpp_lib_transparent_operators should have the value 201510L in c++26" 675 # endif 676 677 #endif // TEST_STD_VER > 23 678 679