From 81432785003b0700034a92bb81d2620858c34f44 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Thu, 29 Nov 2018 19:49:48 +0000 Subject: [PATCH] First part of P0482 - Establish that char8_t is an integral type, and that numeric_limits is valid and sane. llvm-svn: 347904 --- libcxx/include/limits | 1 + libcxx/include/type_traits | 3 +++ .../limits/numeric.limits.members/const_data_members.pass.cpp | 10 ++++++++++ .../limits/numeric.limits.members/denorm_min.pass.cpp | 5 +++++ .../limits/numeric.limits.members/digits.pass.cpp | 5 +++++ .../limits/numeric.limits.members/digits10.pass.cpp | 5 +++++ .../limits/numeric.limits.members/epsilon.pass.cpp | 5 +++++ .../limits/numeric.limits.members/has_denorm.pass.cpp | 5 +++++ .../limits/numeric.limits.members/has_denorm_loss.pass.cpp | 5 +++++ .../limits/numeric.limits.members/has_infinity.pass.cpp | 5 +++++ .../limits/numeric.limits.members/has_quiet_NaN.pass.cpp | 5 +++++ .../limits/numeric.limits.members/has_signaling_NaN.pass.cpp | 5 +++++ .../limits/numeric.limits.members/infinity.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_bounded.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_exact.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_iec559.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_integer.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_modulo.pass.cpp | 5 +++++ .../limits/numeric.limits.members/is_signed.pass.cpp | 5 +++++ .../limits/numeric.limits.members/lowest.pass.cpp | 5 +++++ .../support.limits/limits/numeric.limits.members/max.pass.cpp | 5 +++++ .../limits/numeric.limits.members/max_digits10.pass.cpp | 5 +++++ .../limits/numeric.limits.members/max_exponent.pass.cpp | 5 +++++ .../limits/numeric.limits.members/max_exponent10.pass.cpp | 5 +++++ .../support.limits/limits/numeric.limits.members/min.pass.cpp | 5 +++++ .../limits/numeric.limits.members/min_exponent.pass.cpp | 5 +++++ .../limits/numeric.limits.members/min_exponent10.pass.cpp | 5 +++++ .../limits/numeric.limits.members/quiet_NaN.pass.cpp | 5 +++++ .../limits/numeric.limits.members/radix.pass.cpp | 5 +++++ .../limits/numeric.limits.members/round_error.pass.cpp | 5 +++++ .../limits/numeric.limits.members/round_style.pass.cpp | 5 +++++ .../limits/numeric.limits.members/signaling_NaN.pass.cpp | 5 +++++ .../limits/numeric.limits.members/tinyness_before.pass.cpp | 5 +++++ .../limits/numeric.limits.members/traps.pass.cpp | 5 +++++ .../meta/meta.unary/meta.unary.cat/is_integral.pass.cpp | 3 +++ 35 files changed, 172 insertions(+) diff --git a/libcxx/include/limits b/libcxx/include/limits index f530507..5b75f4a9 100644 --- a/libcxx/include/limits +++ b/libcxx/include/limits @@ -82,6 +82,7 @@ template<> class numeric_limits; template<> class numeric_limits; template<> class numeric_limits; template<> class numeric_limits; +template<> class numeric_limits; // C++20 template<> class numeric_limits; template<> class numeric_limits; diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits index aadb97b..8ab6ac5 100644 --- a/libcxx/include/type_traits +++ b/libcxx/include/type_traits @@ -709,6 +709,9 @@ template <> struct __libcpp_is_integral : public tr template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; +#if _LIBCPP_STD_VER > 17 +template <> struct __libcpp_is_integral : public true_type {}; +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp index 6a46c37..6c28f3d 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp @@ -9,6 +9,8 @@ #include +#include "test_macros.h" + /* : numeric_limits @@ -99,6 +101,14 @@ int main() TEST_NUMERIC_LIMITS(volatile wchar_t) TEST_NUMERIC_LIMITS(const volatile wchar_t) +#if TEST_STD_VER > 17 + // char8_t + TEST_NUMERIC_LIMITS(char8_t) + TEST_NUMERIC_LIMITS(const char8_t) + TEST_NUMERIC_LIMITS(volatile char8_t) + TEST_NUMERIC_LIMITS(const volatile char8_t) +#endif + // char16_t TEST_NUMERIC_LIMITS(char16_t) TEST_NUMERIC_LIMITS(const char16_t) diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp index 8deb28d..70950b3 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp @@ -15,6 +15,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -32,6 +34,9 @@ int main() test(0); test(0); test(0); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp index 2dfea08..c4397ca 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test::is_signed ? sizeof(wchar_t)*8-1 : sizeof(wchar_t)*8>(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp index 2c5302c..cdb5af4 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -35,6 +37,9 @@ int main() test(); test(); test(); // 4 -> 9 and 2 -> 4 +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp index 0cce484..153e485 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp @@ -15,6 +15,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -32,6 +34,9 @@ int main() test(0); test(0); test(0); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp index e618020..aa9f1b6 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp index 660ecf5..6430f97 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp index f8ca205..97d4db7 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp index 7592171..5573a2f 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp index d68cd5d..45640e1 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp index 033ecdc..593ee23 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp @@ -15,6 +15,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -34,6 +36,9 @@ int main() test(0); test(0); test(0); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp index fa714d5..5afbf2f 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp index b96a0e7..a6a59ab 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp index 4408714..20dd0c6 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp index 79bc586..da2a7f8 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp index 6a60996..d5505c6 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); // test(); // don't know +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp index 28570fd..93eecf1 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp index 21090aa..6e66625 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp @@ -17,6 +17,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -38,6 +40,9 @@ int main() test(SCHAR_MIN); test(0); test(WCHAR_MIN); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp index 7517aaa..cf04ea1 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp @@ -17,6 +17,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -38,6 +40,9 @@ int main() test(SCHAR_MAX); test(UCHAR_MAX); test(WCHAR_MAX); +#if TEST_STD_VER > 17 + test(UCHAR_MAX); // ?? +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(USHRT_MAX); test(UINT_MAX); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp index de771eb..c3bbbd2 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp index 6b61f7b..3e5d609 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp index 927585e..ba45ba3 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp index e72fbba..4ace466 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp @@ -17,6 +17,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -38,6 +40,9 @@ int main() test(SCHAR_MIN); test(0); test(WCHAR_MIN); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp index 245e844..cb20bdb 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp index b54d46f..765f04f 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp index 97166f0..ff4de39 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp @@ -16,6 +16,8 @@ #include #include +#include "test_macros.h" + template void test_imp(std::true_type) @@ -51,6 +53,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp index 98a2a53..a436c01 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include "test_macros.h" + template void test() @@ -31,6 +33,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp index 5da5c95..1c37603 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp @@ -15,6 +15,8 @@ #include #include +#include "test_macros.h" + template void test(T expected) @@ -32,6 +34,9 @@ int main() test(0); test(0); test(0); +#if TEST_STD_VER > 17 + test(0); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(0); test(0); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp index 645f6f7..60f378a 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp index d9df999..14d66d2 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp @@ -16,6 +16,8 @@ #include #include +#include "test_macros.h" + template void test_imp(std::true_type) @@ -51,6 +53,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp index 9e2a843..4acde93 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + template void test() @@ -30,6 +32,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp index 23811fa..3c3ae5b 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp @@ -13,6 +13,8 @@ #include +#include "test_macros.h" + #if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || \ defined(__wasm__) static const bool integral_types_trap = true; @@ -37,6 +39,9 @@ int main() test(); test(); test(); +#if TEST_STD_VER > 17 + test(); +#endif #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS test(); test(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp index 0999762..ba7c99c 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp @@ -85,6 +85,9 @@ int main() test_is_integral(); test_is_integral(); test_is_integral(); +#if TEST_STD_VER > 14 + test_is_integral(); +#endif test_is_not_integral(); test_is_not_integral(); -- 2.7.4