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

source code of libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp