13f05d044SMark de Wever //===----------------------------------------------------------------------===// 23f05d044SMark de Wever // 33f05d044SMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 43f05d044SMark de Wever // See https://llvm.org/LICENSE.txt for license information. 53f05d044SMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 63f05d044SMark de Wever // 73f05d044SMark de Wever //===----------------------------------------------------------------------===// 83f05d044SMark de Wever // 93f05d044SMark de Wever // WARNING: This test was generated by generate_feature_test_macro_components.py 103f05d044SMark de Wever // and should not be edited manually. 113f05d044SMark de Wever // 123f05d044SMark de Wever // clang-format off 133f05d044SMark de Wever 143f05d044SMark de Wever // UNSUPPORTED: no-localization 153f05d044SMark de Wever 163f05d044SMark de Wever // <fstream> 173f05d044SMark de Wever 183f05d044SMark de Wever // Test the feature test macros defined by <fstream> 193f05d044SMark de Wever 203f05d044SMark de Wever /* Constant Value 213f05d044SMark de Wever __cpp_lib_fstream_native_handle 202306L [C++26] 223f05d044SMark de Wever */ 233f05d044SMark de Wever 243f05d044SMark de Wever #include <fstream> 253f05d044SMark de Wever #include "test_macros.h" 263f05d044SMark de Wever 273f05d044SMark de Wever #if TEST_STD_VER < 14 283f05d044SMark de Wever 293f05d044SMark de Wever # ifdef __cpp_lib_fstream_native_handle 303f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 313f05d044SMark de Wever # endif 323f05d044SMark de Wever 333f05d044SMark de Wever #elif TEST_STD_VER == 14 343f05d044SMark de Wever 353f05d044SMark de Wever # ifdef __cpp_lib_fstream_native_handle 363f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 373f05d044SMark de Wever # endif 383f05d044SMark de Wever 393f05d044SMark de Wever #elif TEST_STD_VER == 17 403f05d044SMark de Wever 413f05d044SMark de Wever # ifdef __cpp_lib_fstream_native_handle 423f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 433f05d044SMark de Wever # endif 443f05d044SMark de Wever 453f05d044SMark de Wever #elif TEST_STD_VER == 20 463f05d044SMark de Wever 473f05d044SMark de Wever # ifdef __cpp_lib_fstream_native_handle 483f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 493f05d044SMark de Wever # endif 503f05d044SMark de Wever 513f05d044SMark de Wever #elif TEST_STD_VER == 23 523f05d044SMark de Wever 533f05d044SMark de Wever # ifdef __cpp_lib_fstream_native_handle 543f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 553f05d044SMark de Wever # endif 563f05d044SMark de Wever 573f05d044SMark de Wever #elif TEST_STD_VER > 23 583f05d044SMark de Wever 59*c6f3b7bcSNikolas Klauser # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION) 603f05d044SMark de Wever # ifndef __cpp_lib_fstream_native_handle 613f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should be defined in c++26" 623f05d044SMark de Wever # endif 633f05d044SMark de Wever # if __cpp_lib_fstream_native_handle != 202306L 643f05d044SMark de Wever # error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26" 653f05d044SMark de Wever # endif 66f2c84211SLouis Dionne # else 67f2c84211SLouis Dionne # ifdef __cpp_lib_fstream_native_handle 68*c6f3b7bcSNikolas Klauser # error "__cpp_lib_fstream_native_handle should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION)' is not met!" 69f2c84211SLouis Dionne # endif 70f2c84211SLouis Dionne # endif 713f05d044SMark de Wever 723f05d044SMark de Wever #endif // TEST_STD_VER > 23 733f05d044SMark de Wever 74