1f02120fbSNikolas Klauser //===----------------------------------------------------------------------===// 2f02120fbSNikolas Klauser // 3f02120fbSNikolas Klauser // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4f02120fbSNikolas Klauser // See https://llvm.org/LICENSE.txt for license information. 5f02120fbSNikolas Klauser // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6f02120fbSNikolas Klauser // 7f02120fbSNikolas Klauser //===----------------------------------------------------------------------===// 8f02120fbSNikolas Klauser // 9f02120fbSNikolas Klauser // WARNING: This test was generated by generate_feature_test_macro_components.py 10f02120fbSNikolas Klauser // and should not be edited manually. 11f02120fbSNikolas Klauser // 12f02120fbSNikolas Klauser // clang-format off 13f02120fbSNikolas Klauser 14f02120fbSNikolas Klauser // <bitset> 15f02120fbSNikolas Klauser 16f02120fbSNikolas Klauser // Test the feature test macros defined by <bitset> 17f02120fbSNikolas Klauser 18f02120fbSNikolas Klauser /* Constant Value 19*3f05d044SMark de Wever __cpp_lib_bitset 202306L [C++26] 2071400505SMark de Wever __cpp_lib_constexpr_bitset 202207L [C++23] 21f02120fbSNikolas Klauser */ 22f02120fbSNikolas Klauser 23f02120fbSNikolas Klauser #include <bitset> 24f02120fbSNikolas Klauser #include "test_macros.h" 25f02120fbSNikolas Klauser 26f02120fbSNikolas Klauser #if TEST_STD_VER < 14 27f02120fbSNikolas Klauser 28*3f05d044SMark de Wever # ifdef __cpp_lib_bitset 29*3f05d044SMark de Wever # error "__cpp_lib_bitset should not be defined before c++26" 30*3f05d044SMark de Wever # endif 31*3f05d044SMark de Wever 32f02120fbSNikolas Klauser # ifdef __cpp_lib_constexpr_bitset 3371400505SMark de Wever # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 34f02120fbSNikolas Klauser # endif 35f02120fbSNikolas Klauser 36f02120fbSNikolas Klauser #elif TEST_STD_VER == 14 37f02120fbSNikolas Klauser 38*3f05d044SMark de Wever # ifdef __cpp_lib_bitset 39*3f05d044SMark de Wever # error "__cpp_lib_bitset should not be defined before c++26" 40*3f05d044SMark de Wever # endif 41*3f05d044SMark de Wever 42f02120fbSNikolas Klauser # ifdef __cpp_lib_constexpr_bitset 4371400505SMark de Wever # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 44f02120fbSNikolas Klauser # endif 45f02120fbSNikolas Klauser 46f02120fbSNikolas Klauser #elif TEST_STD_VER == 17 47f02120fbSNikolas Klauser 48*3f05d044SMark de Wever # ifdef __cpp_lib_bitset 49*3f05d044SMark de Wever # error "__cpp_lib_bitset should not be defined before c++26" 50*3f05d044SMark de Wever # endif 51*3f05d044SMark de Wever 52f02120fbSNikolas Klauser # ifdef __cpp_lib_constexpr_bitset 5371400505SMark de Wever # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 54f02120fbSNikolas Klauser # endif 55f02120fbSNikolas Klauser 56f02120fbSNikolas Klauser #elif TEST_STD_VER == 20 57f02120fbSNikolas Klauser 58*3f05d044SMark de Wever # ifdef __cpp_lib_bitset 59*3f05d044SMark de Wever # error "__cpp_lib_bitset should not be defined before c++26" 60*3f05d044SMark de Wever # endif 61*3f05d044SMark de Wever 62f02120fbSNikolas Klauser # ifdef __cpp_lib_constexpr_bitset 6371400505SMark de Wever # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 64f02120fbSNikolas Klauser # endif 65f02120fbSNikolas Klauser 6600c97cbcSMark de Wever #elif TEST_STD_VER == 23 67f02120fbSNikolas Klauser 68*3f05d044SMark de Wever # ifdef __cpp_lib_bitset 69*3f05d044SMark de Wever # error "__cpp_lib_bitset should not be defined before c++26" 70*3f05d044SMark de Wever # endif 71*3f05d044SMark de Wever 72f02120fbSNikolas Klauser # ifndef __cpp_lib_constexpr_bitset 7371400505SMark de Wever # error "__cpp_lib_constexpr_bitset should be defined in c++23" 74f02120fbSNikolas Klauser # endif 75f02120fbSNikolas Klauser # if __cpp_lib_constexpr_bitset != 202207L 7671400505SMark de Wever # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23" 77f02120fbSNikolas Klauser # endif 78f02120fbSNikolas Klauser 7900c97cbcSMark de Wever #elif TEST_STD_VER > 23 8000c97cbcSMark de Wever 81*3f05d044SMark de Wever # ifndef __cpp_lib_bitset 82*3f05d044SMark de Wever # error "__cpp_lib_bitset should be defined in c++26" 83*3f05d044SMark de Wever # endif 84*3f05d044SMark de Wever # if __cpp_lib_bitset != 202306L 85*3f05d044SMark de Wever # error "__cpp_lib_bitset should have the value 202306L in c++26" 86*3f05d044SMark de Wever # endif 87*3f05d044SMark de Wever 8800c97cbcSMark de Wever # ifndef __cpp_lib_constexpr_bitset 8900c97cbcSMark de Wever # error "__cpp_lib_constexpr_bitset should be defined in c++26" 9000c97cbcSMark de Wever # endif 9100c97cbcSMark de Wever # if __cpp_lib_constexpr_bitset != 202207L 9200c97cbcSMark de Wever # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26" 9300c97cbcSMark de Wever # endif 9400c97cbcSMark de Wever 9500c97cbcSMark de Wever #endif // TEST_STD_VER > 23 96f02120fbSNikolas Klauser 97