13f65f718SMark de Wever //===----------------------------------------------------------------------===// 23f65f718SMark de Wever // 33f65f718SMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 43f65f718SMark de Wever // See https://llvm.org/LICENSE.txt for license information. 53f65f718SMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 63f65f718SMark de Wever // 73f65f718SMark de Wever //===----------------------------------------------------------------------===// 83f65f718SMark de Wever // 93f65f718SMark de Wever // WARNING: This test was generated by generate_feature_test_macro_components.py 103f65f718SMark de Wever // and should not be edited manually. 113f65f718SMark de Wever // 123f65f718SMark de Wever // clang-format off 133f65f718SMark de Wever 14*1cf970dbSKonstantin Varlamov // UNSUPPORTED: no-filesystem 15*1cf970dbSKonstantin Varlamov 163f65f718SMark de Wever // <print> 173f65f718SMark de Wever 183f65f718SMark de Wever // Test the feature test macros defined by <print> 193f65f718SMark de Wever 203f65f718SMark de Wever /* Constant Value 213f65f718SMark de Wever __cpp_lib_print 202207L [C++23] 223f65f718SMark de Wever */ 233f65f718SMark de Wever 243f65f718SMark de Wever #include <print> 253f65f718SMark de Wever #include "test_macros.h" 263f65f718SMark de Wever 273f65f718SMark de Wever #if TEST_STD_VER < 14 283f65f718SMark de Wever 293f65f718SMark de Wever # ifdef __cpp_lib_print 303f65f718SMark de Wever # error "__cpp_lib_print should not be defined before c++23" 313f65f718SMark de Wever # endif 323f65f718SMark de Wever 333f65f718SMark de Wever #elif TEST_STD_VER == 14 343f65f718SMark de Wever 353f65f718SMark de Wever # ifdef __cpp_lib_print 363f65f718SMark de Wever # error "__cpp_lib_print should not be defined before c++23" 373f65f718SMark de Wever # endif 383f65f718SMark de Wever 393f65f718SMark de Wever #elif TEST_STD_VER == 17 403f65f718SMark de Wever 413f65f718SMark de Wever # ifdef __cpp_lib_print 423f65f718SMark de Wever # error "__cpp_lib_print should not be defined before c++23" 433f65f718SMark de Wever # endif 443f65f718SMark de Wever 453f65f718SMark de Wever #elif TEST_STD_VER == 20 463f65f718SMark de Wever 473f65f718SMark de Wever # ifdef __cpp_lib_print 483f65f718SMark de Wever # error "__cpp_lib_print should not be defined before c++23" 493f65f718SMark de Wever # endif 503f65f718SMark de Wever 513f65f718SMark de Wever #elif TEST_STD_VER == 23 523f65f718SMark de Wever 533f65f718SMark de Wever # ifndef __cpp_lib_print 543f65f718SMark de Wever # error "__cpp_lib_print should be defined in c++23" 553f65f718SMark de Wever # endif 563f65f718SMark de Wever # if __cpp_lib_print != 202207L 573f65f718SMark de Wever # error "__cpp_lib_print should have the value 202207L in c++23" 583f65f718SMark de Wever # endif 593f65f718SMark de Wever 603f65f718SMark de Wever #elif TEST_STD_VER > 23 613f65f718SMark de Wever 623f65f718SMark de Wever # ifndef __cpp_lib_print 633f65f718SMark de Wever # error "__cpp_lib_print should be defined in c++26" 643f65f718SMark de Wever # endif 653f65f718SMark de Wever # if __cpp_lib_print != 202207L 663f65f718SMark de Wever # error "__cpp_lib_print should have the value 202207L in c++26" 673f65f718SMark de Wever # endif 683f65f718SMark de Wever 693f65f718SMark de Wever #endif // TEST_STD_VER > 23 703f65f718SMark de Wever 71