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