102 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// WARNING: This test was generated by generate_feature_test_macro_components.py10// and should not be edited manually.11 12// <random>13 14// Test the feature test macros defined by <random>15 16// clang-format off17 18#include <random>19#include "test_macros.h"20 21#if TEST_STD_VER < 1422 23# ifdef __cpp_lib_generate_random24# error "__cpp_lib_generate_random should not be defined before c++26"25# endif26 27# ifdef __cpp_lib_philox_engine28# error "__cpp_lib_philox_engine should not be defined before c++26"29# endif30 31#elif TEST_STD_VER == 1432 33# ifdef __cpp_lib_generate_random34# error "__cpp_lib_generate_random should not be defined before c++26"35# endif36 37# ifdef __cpp_lib_philox_engine38# error "__cpp_lib_philox_engine should not be defined before c++26"39# endif40 41#elif TEST_STD_VER == 1742 43# ifdef __cpp_lib_generate_random44# error "__cpp_lib_generate_random should not be defined before c++26"45# endif46 47# ifdef __cpp_lib_philox_engine48# error "__cpp_lib_philox_engine should not be defined before c++26"49# endif50 51#elif TEST_STD_VER == 2052 53# ifdef __cpp_lib_generate_random54# error "__cpp_lib_generate_random should not be defined before c++26"55# endif56 57# ifdef __cpp_lib_philox_engine58# error "__cpp_lib_philox_engine should not be defined before c++26"59# endif60 61#elif TEST_STD_VER == 2362 63# ifdef __cpp_lib_generate_random64# error "__cpp_lib_generate_random should not be defined before c++26"65# endif66 67# ifdef __cpp_lib_philox_engine68# error "__cpp_lib_philox_engine should not be defined before c++26"69# endif70 71#elif TEST_STD_VER > 2372 73# if !defined(_LIBCPP_VERSION)74# ifndef __cpp_lib_generate_random75# error "__cpp_lib_generate_random should be defined in c++26"76# endif77# if __cpp_lib_generate_random != 202403L78# error "__cpp_lib_generate_random should have the value 202403L in c++26"79# endif80# else81# ifdef __cpp_lib_generate_random82# error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!"83# endif84# endif85 86# if !defined(_LIBCPP_VERSION)87# ifndef __cpp_lib_philox_engine88# error "__cpp_lib_philox_engine should be defined in c++26"89# endif90# if __cpp_lib_philox_engine != 202406L91# error "__cpp_lib_philox_engine should have the value 202406L in c++26"92# endif93# else94# ifdef __cpp_lib_philox_engine95# error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!"96# endif97# endif98 99#endif // TEST_STD_VER > 23100 101// clang-format on102