summaryrefslogtreecommitdiff
path: root/test/language.support/support.limits/limits
diff options
context:
space:
mode:
Diffstat (limited to 'test/language.support/support.limits/limits')
-rw-r--r--test/language.support/support.limits/limits/is_specialized.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp14
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp4
-rw-r--r--test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp4
33 files changed, 142 insertions, 0 deletions
diff --git a/test/language.support/support.limits/limits/is_specialized.pass.cpp b/test/language.support/support.limits/limits/is_specialized.pass.cpp
index 1e323b80..ff5c1a2c 100644
--- a/test/language.support/support.limits/limits/is_specialized.pass.cpp
+++ b/test/language.support/support.limits/limits/is_specialized.pass.cpp
@@ -59,6 +59,10 @@ int main()
test<unsigned long>();
test<signed long long>();
test<unsigned long long>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>();
+ test<__uint128_t>();
+#endif
test<float>();
test<double>();
test<long double>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
index d6ae2284..bbead15d 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
@@ -129,6 +129,13 @@ int main()
TEST_NUMERIC_LIMITS(volatile long)
TEST_NUMERIC_LIMITS(const volatile long)
+#ifndef _LIBCPP_HAS_NO_INT128
+ TEST_NUMERIC_LIMITS(__int128_t)
+ TEST_NUMERIC_LIMITS(const __int128_t)
+ TEST_NUMERIC_LIMITS(volatile __int128_t)
+ TEST_NUMERIC_LIMITS(const volatile __int128_t)
+#endif
+
// long long
TEST_NUMERIC_LIMITS(long long)
TEST_NUMERIC_LIMITS(const long long)
@@ -159,6 +166,13 @@ int main()
TEST_NUMERIC_LIMITS(volatile unsigned long long)
TEST_NUMERIC_LIMITS(const volatile unsigned long long)
+#ifndef _LIBCPP_HAS_NO_INT128
+ TEST_NUMERIC_LIMITS(__uint128_t)
+ TEST_NUMERIC_LIMITS(const __uint128_t)
+ TEST_NUMERIC_LIMITS(volatile __uint128_t)
+ TEST_NUMERIC_LIMITS(const volatile __uint128_t)
+#endif
+
// float
TEST_NUMERIC_LIMITS(float)
TEST_NUMERIC_LIMITS(const float)
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp
index d17d4a90..a452d4e9 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long>(0);
test<long long>(0);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(0);
+ test<__uint128_t>(0);
+#endif
test<float>(__FLT_DENORM_MIN__);
test<double>(__DBL_DENORM_MIN__);
test<long double>(__LDBL_DENORM_MIN__);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
index ee6aafe6..2dfea084 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, sizeof(long) == 4 ? 32 : 64>();
test<long long, 63>();
test<unsigned long long, 64>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 127>();
+ test<__uint128_t, 128>();
+#endif
test<float, FLT_MANT_DIG>();
test<double, DBL_MANT_DIG>();
test<long double, LDBL_MANT_DIG>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
index 73e87fc9..2c5302cd 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
@@ -47,6 +47,10 @@ int main()
test<unsigned long, sizeof(long) == 4 ? 9 : 19>();
test<long long, 18>();
test<unsigned long long, 19>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 38>();
+ test<__uint128_t, 38>();
+#endif
test<float, FLT_DIG>();
test<double, DBL_DIG>();
test<long double, LDBL_DIG>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
index e14de8ed..0cce4848 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
@@ -44,6 +44,10 @@ int main()
test<unsigned long>(0);
test<long long>(0);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(0);
+ test<__uint128_t>(0);
+#endif
test<float>(FLT_EPSILON);
test<double>(DBL_EPSILON);
test<long double>(LDBL_EPSILON);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
index 4dcd4d46..e6180205 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, std::denorm_absent>();
test<long long, std::denorm_absent>();
test<unsigned long long, std::denorm_absent>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, std::denorm_absent>();
+ test<__uint128_t, std::denorm_absent>();
+#endif
test<float, std::denorm_present>();
test<double, std::denorm_present>();
test<long double, std::denorm_present>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
index 2982747e..660ecf50 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
index 506cd92f..f8ca2059 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, true>();
test<double, true>();
test<long double, true>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
index 3c4b5d27..75921716 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, true>();
test<double, true>();
test<long double, true>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
index 2edc4cc0..d68cd5d7 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, true>();
test<double, true>();
test<long double, true>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
index d68aa479..a2ccca33 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
@@ -46,6 +46,10 @@ int main()
test<unsigned long>(0);
test<long long>(0);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(0);
+ test<__uint128_t>(0);
+#endif
test<float>(1./zero);
test<double>(1./zero);
test<long double>(1./zero);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
index eb965643..fa714d5d 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, true>();
test<long long, true>();
test<unsigned long long, true>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, true>();
+ test<__uint128_t, true>();
+#endif
test<float, true>();
test<double, true>();
test<long double, true>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
index 6fa300bb..b96a0e7f 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, true>();
test<long long, true>();
test<unsigned long long, true>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, true>();
+ test<__uint128_t, true>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
index 1b73bdae..4408714c 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, true>();
test<double, true>();
#if (defined(__ppc__) || defined(__ppc64__))
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
index a6874653..79bc5867 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, true>();
test<long long, true>();
test<unsigned long long, true>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, true>();
+ test<__uint128_t, true>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
index 3c44996b..fadc0156 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, true>();
test<long long, true>();
test<unsigned long long, true>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, true>();
+ test<__uint128_t, true>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
index 504107c2..28570fd2 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, true>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, true>();
+ test<__uint128_t, false>();
+#endif
test<float, true>();
test<double, true>();
test<long double, true>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
index eb4b030b..21090aa9 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
@@ -50,6 +50,10 @@ int main()
test<unsigned long>(0);
test<long long>(LLONG_MIN);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(-__int128_t(__uint128_t(-1)/2) - 1);
+ test<__uint128_t>(0);
+#endif
test<float>(-FLT_MAX);
test<double>(-DBL_MAX);
test<long double>(-LDBL_MAX);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
index 29dbfb34..7517aaa1 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
@@ -50,6 +50,10 @@ int main()
test<unsigned long>(ULONG_MAX);
test<long long>(LLONG_MAX);
test<unsigned long long>(ULLONG_MAX);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(__int128_t(__uint128_t(-1)/2));
+ test<__uint128_t>(__uint128_t(-1));
+#endif
test<float>(FLT_MAX);
test<double>(DBL_MAX);
test<long double>(LDBL_MAX);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
index 3a3c76e4..de771ebe 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 0>();
test<long long, 0>();
test<unsigned long long, 0>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 0>();
+ test<__uint128_t, 0>();
+#endif
test<float, 2+(FLT_MANT_DIG * 30103)/100000>();
test<double, 2+(DBL_MANT_DIG * 30103)/100000>();
test<long double, 2+(LDBL_MANT_DIG * 30103)/100000>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
index dea50432..6b61f7ba 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 0>();
test<long long, 0>();
test<unsigned long long, 0>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 0>();
+ test<__uint128_t, 0>();
+#endif
test<float, FLT_MAX_EXP>();
test<double, DBL_MAX_EXP>();
test<long double, LDBL_MAX_EXP>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
index 807b773d..927585e9 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 0>();
test<long long, 0>();
test<unsigned long long, 0>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 0>();
+ test<__uint128_t, 0>();
+#endif
test<float, FLT_MAX_10_EXP>();
test<double, DBL_MAX_10_EXP>();
test<long double, LDBL_MAX_10_EXP>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
index 52108ee7..e72fbba1 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
@@ -50,6 +50,10 @@ int main()
test<unsigned long>(0);
test<long long>(LLONG_MIN);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(-__int128_t(__uint128_t(-1)/2) - 1);
+ test<__uint128_t>(0);
+#endif
test<float>(FLT_MIN);
test<double>(DBL_MIN);
test<long double>(LDBL_MIN);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
index 8cf53022..245e8441 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 0>();
test<long long, 0>();
test<unsigned long long, 0>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 0>();
+ test<__uint128_t, 0>();
+#endif
test<float, FLT_MIN_EXP>();
test<double, DBL_MIN_EXP>();
test<long double, LDBL_MIN_EXP>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
index 7434e659..b54d46fd 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 0>();
test<long long, 0>();
test<unsigned long long, 0>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 0>();
+ test<__uint128_t, 0>();
+#endif
test<float, FLT_MIN_10_EXP>();
test<double, DBL_MIN_10_EXP>();
test<long double, LDBL_MIN_10_EXP>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
index 95464e40..97166f0c 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
@@ -63,6 +63,10 @@ int main()
test<unsigned long>();
test<long long>();
test<unsigned long long>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>();
+ test<__uint128_t>();
+#endif
test<float>();
test<double>();
test<long double>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
index 37ad48af..98a2a53d 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
@@ -43,6 +43,10 @@ int main()
test<unsigned long, 2>();
test<long long, 2>();
test<unsigned long long, 2>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, 2>();
+ test<__uint128_t, 2>();
+#endif
test<float, FLT_RADIX>();
test<double, FLT_RADIX>();
test<long double, FLT_RADIX>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
index f4051cf8..5da5c951 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
@@ -44,6 +44,10 @@ int main()
test<unsigned long>(0);
test<long long>(0);
test<unsigned long long>(0);
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>(0);
+ test<__uint128_t>(0);
+#endif
test<float>(0.5);
test<double>(0.5);
test<long double>(0.5);
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
index 1b7e2e04..645f6f7d 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, std::round_toward_zero>();
test<long long, std::round_toward_zero>();
test<unsigned long long, std::round_toward_zero>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, std::round_toward_zero>();
+ test<__uint128_t, std::round_toward_zero>();
+#endif
test<float, std::round_to_nearest>();
test<double, std::round_to_nearest>();
test<long double, std::round_to_nearest>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
index 1c72d4c7..d9df999d 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
@@ -63,6 +63,10 @@ int main()
test<unsigned long>();
test<long long>();
test<unsigned long long>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t>();
+ test<__uint128_t>();
+#endif
test<float>();
test<double>();
test<long double>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
index e9dd956c..9e2a8431 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
@@ -42,6 +42,10 @@ int main()
test<unsigned long, false>();
test<long long, false>();
test<unsigned long long, false>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, false>();
+ test<__uint128_t, false>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();
diff --git a/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp b/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
index a409740c..03453634 100644
--- a/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
+++ b/test/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
@@ -48,6 +48,10 @@ int main()
test<unsigned long, integral_types_trap>();
test<long long, integral_types_trap>();
test<unsigned long long, integral_types_trap>();
+#ifndef _LIBCPP_HAS_NO_INT128
+ test<__int128_t, integral_types_trap>();
+ test<__uint128_t, integral_types_trap>();
+#endif
test<float, false>();
test<double, false>();
test<long double, false>();