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