1*a3f17ba3SPragmaTwice //===----------------------------------------------------------------------===//
2*a3f17ba3SPragmaTwice //
3*a3f17ba3SPragmaTwice // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*a3f17ba3SPragmaTwice // See https://llvm.org/LICENSE.txt for license information.
5*a3f17ba3SPragmaTwice // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*a3f17ba3SPragmaTwice //
7*a3f17ba3SPragmaTwice //===----------------------------------------------------------------------===//
8*a3f17ba3SPragmaTwice //
9*a3f17ba3SPragmaTwice // WARNING: This test was generated by generate_feature_test_macro_components.py
10*a3f17ba3SPragmaTwice // and should not be edited manually.
11*a3f17ba3SPragmaTwice //
12*a3f17ba3SPragmaTwice // clang-format off
13*a3f17ba3SPragmaTwice 
14*a3f17ba3SPragmaTwice // UNSUPPORTED: no-localization
15*a3f17ba3SPragmaTwice 
16*a3f17ba3SPragmaTwice // <ios>
17*a3f17ba3SPragmaTwice 
18*a3f17ba3SPragmaTwice // Test the feature test macros defined by <ios>
19*a3f17ba3SPragmaTwice 
20*a3f17ba3SPragmaTwice /*  Constant                   Value
21*a3f17ba3SPragmaTwice     __cpp_lib_ios_noreplace    202207L [C++23]
22*a3f17ba3SPragmaTwice */
23*a3f17ba3SPragmaTwice 
24*a3f17ba3SPragmaTwice #include <ios>
25*a3f17ba3SPragmaTwice #include "test_macros.h"
26*a3f17ba3SPragmaTwice 
27*a3f17ba3SPragmaTwice #if TEST_STD_VER < 14
28*a3f17ba3SPragmaTwice 
29*a3f17ba3SPragmaTwice # ifdef __cpp_lib_ios_noreplace
30*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
31*a3f17ba3SPragmaTwice # endif
32*a3f17ba3SPragmaTwice 
33*a3f17ba3SPragmaTwice #elif TEST_STD_VER == 14
34*a3f17ba3SPragmaTwice 
35*a3f17ba3SPragmaTwice # ifdef __cpp_lib_ios_noreplace
36*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
37*a3f17ba3SPragmaTwice # endif
38*a3f17ba3SPragmaTwice 
39*a3f17ba3SPragmaTwice #elif TEST_STD_VER == 17
40*a3f17ba3SPragmaTwice 
41*a3f17ba3SPragmaTwice # ifdef __cpp_lib_ios_noreplace
42*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
43*a3f17ba3SPragmaTwice # endif
44*a3f17ba3SPragmaTwice 
45*a3f17ba3SPragmaTwice #elif TEST_STD_VER == 20
46*a3f17ba3SPragmaTwice 
47*a3f17ba3SPragmaTwice # ifdef __cpp_lib_ios_noreplace
48*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should not be defined before c++23"
49*a3f17ba3SPragmaTwice # endif
50*a3f17ba3SPragmaTwice 
51*a3f17ba3SPragmaTwice #elif TEST_STD_VER == 23
52*a3f17ba3SPragmaTwice 
53*a3f17ba3SPragmaTwice # ifndef __cpp_lib_ios_noreplace
54*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should be defined in c++23"
55*a3f17ba3SPragmaTwice # endif
56*a3f17ba3SPragmaTwice # if __cpp_lib_ios_noreplace != 202207L
57*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should have the value 202207L in c++23"
58*a3f17ba3SPragmaTwice # endif
59*a3f17ba3SPragmaTwice 
60*a3f17ba3SPragmaTwice #elif TEST_STD_VER > 23
61*a3f17ba3SPragmaTwice 
62*a3f17ba3SPragmaTwice # ifndef __cpp_lib_ios_noreplace
63*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should be defined in c++26"
64*a3f17ba3SPragmaTwice # endif
65*a3f17ba3SPragmaTwice # if __cpp_lib_ios_noreplace != 202207L
66*a3f17ba3SPragmaTwice #   error "__cpp_lib_ios_noreplace should have the value 202207L in c++26"
67*a3f17ba3SPragmaTwice # endif
68*a3f17ba3SPragmaTwice 
69*a3f17ba3SPragmaTwice #endif // TEST_STD_VER > 23
70*a3f17ba3SPragmaTwice 
71