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