Check __STRICT_ANSI__ for 128-bit arithmetic types
* testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do not test 128-bit types. * testsuite/20_util/is_floating_point/value.cc: Likewise. * testsuite/20_util/is_integral/value.cc: Likewise. * testsuite/20_util/is_signed/value.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. From-SVN: r238918
This commit is contained in:
parent
7523c5eb1a
commit
2f2971492b
|
@ -1,5 +1,18 @@
|
|||
2016-07-31 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
|
||||
not test 128-bit types.
|
||||
* testsuite/20_util/is_floating_point/value.cc: Likewise.
|
||||
* testsuite/20_util/is_integral/value.cc: Likewise.
|
||||
* testsuite/20_util/is_signed/value.cc: Likewise.
|
||||
* testsuite/20_util/is_unsigned/value.cc: Likewise.
|
||||
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
|
||||
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
|
||||
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
|
||||
Likewise.
|
||||
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
|
||||
Likewise.
|
||||
|
||||
* testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
|
||||
|
||||
2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include <limits>
|
||||
|
||||
// libstdc++/40856
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
#if defined _GLIBCXX_USE_INT128 && ! defined __STRICT_ANSI__
|
||||
static_assert(std::numeric_limits<__int128>::is_specialized == true, "");
|
||||
static_assert(std::numeric_limits<unsigned __int128>::is_specialized == true,
|
||||
"");
|
||||
|
|
|
@ -47,6 +47,7 @@ void test01()
|
|||
static_assert(test_category<is_floating_point, double>(true), "");
|
||||
static_assert(test_category<is_floating_point, long double>(true), "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_FLOAT128
|
||||
static_assert(test_category<is_floating_point, __float128>(true), "");
|
||||
|
@ -56,6 +57,7 @@ void test01()
|
|||
static_assert(test_category<is_floating_point, __int128>(false), "");
|
||||
static_assert(test_category<is_floating_point,
|
||||
unsigned __int128>(false), "");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Sanity check.
|
||||
|
|
|
@ -51,6 +51,7 @@ void test01()
|
|||
static_assert(test_category<is_integral, double>(false), "");
|
||||
static_assert(test_category<is_integral, long double>(false), "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
static_assert(test_category<is_integral, __int128>(true), "");
|
||||
|
@ -59,6 +60,7 @@ void test01()
|
|||
|
||||
#ifdef _GLIBCXX_USE_FLOAT128
|
||||
static_assert(test_category<is_integral, __float128>(false), "");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Sanity check.
|
||||
|
|
|
@ -50,6 +50,7 @@ void test01()
|
|||
static_assert(test_category<is_signed, double>(true), "");
|
||||
static_assert(test_category<is_signed, long double>(true), "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
static_assert(test_category<is_signed, __int128>(true), "");
|
||||
|
@ -58,6 +59,7 @@ void test01()
|
|||
|
||||
#ifdef _GLIBCXX_USE_FLOAT128
|
||||
static_assert(test_category<is_signed, __float128>(true), "");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Sanity check.
|
||||
|
|
|
@ -50,6 +50,7 @@ void test01()
|
|||
static_assert(test_category<is_unsigned, double>(false), "");
|
||||
static_assert(test_category<is_unsigned, long double>(false), "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
static_assert(test_category<is_unsigned, unsigned __int128>(true), "");
|
||||
|
@ -58,6 +59,7 @@ void test01()
|
|||
|
||||
#ifdef _GLIBCXX_USE_FLOAT128
|
||||
static_assert(test_category<is_unsigned, __float128>(false), "");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Sanity check.
|
||||
|
|
|
@ -67,6 +67,7 @@ void test01()
|
|||
static_assert( sizeof(test24_type) == sizeof(test_enum),
|
||||
"make_signed<test_enum> makes type of same size" );
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
typedef make_signed<unsigned __int128>::type test25_type;
|
||||
|
@ -77,4 +78,5 @@ void test01()
|
|||
static_assert( is_same<test26_type, __int128>::value,
|
||||
"make_signed<__int128>" );
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -60,6 +60,7 @@ void test01()
|
|||
typedef make_signed<test_enum>::type test24_type;
|
||||
static_assert(is_same<test24_type, short>::value, "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
typedef make_signed<unsigned __int128>::type test25_type;
|
||||
|
@ -68,4 +69,5 @@ void test01()
|
|||
typedef make_signed<__int128>::type test26_type;
|
||||
static_assert(is_same<test26_type, __int128>::value, "");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ void test01()
|
|||
static_assert(is_unsigned<test24_type>::value, "");
|
||||
static_assert(sizeof(test24_type) == sizeof(test_enum), "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
typedef make_unsigned<unsigned __int128>::type test25_type;
|
||||
|
@ -69,4 +70,5 @@ void test01()
|
|||
typedef make_unsigned<__int128>::type test26_type;
|
||||
static_assert(is_same<test26_type, unsigned __int128>::value, "");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -60,6 +60,7 @@ void test01()
|
|||
typedef make_unsigned<test_enum>::type test24_type;
|
||||
static_assert(is_same<test24_type, unsigned short>::value, "");
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
// GNU Extensions.
|
||||
#ifdef _GLIBCXX_USE_INT128
|
||||
typedef make_unsigned<unsigned __int128>::type test25_type;
|
||||
|
@ -68,4 +69,5 @@ void test01()
|
|||
typedef make_unsigned<__int128>::type test26_type;
|
||||
static_assert(is_same<test26_type, unsigned __int128>::value, "");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue