summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-07-31 14:06:38 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-07-31 14:06:38 +0100
commit2f2971492b8e4067c2b1ed90bfbc9ecf087957fb (patch)
tree0ec54fb0fef75d3cf7ce7e4febbd9b8bdef18942 /libstdc++-v3
parent7523c5eb1ae94df723ad9f8c1cbf9296e09af4c0 (diff)
downloadgcc-2f2971492b8e4067c2b1ed90bfbc9ecf087957fb.tar.gz
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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog13
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_floating_point/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_integral/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_signed/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_unsigned/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc2
10 files changed, 30 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0b15de79896..08f90de35cd 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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>
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
index d317a3f8cbe..7577b59ea2b 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
@@ -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,
"");
diff --git a/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc b/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
index 8ed73fcce2a..c2736fae3f7 100644
--- a/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
@@ -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), "");
@@ -57,6 +58,7 @@ void test01()
static_assert(test_category<is_floating_point,
unsigned __int128>(false), "");
#endif
+#endif
// Sanity check.
static_assert(test_category<is_floating_point, ClassType>(false), "");
diff --git a/libstdc++-v3/testsuite/20_util/is_integral/value.cc b/libstdc++-v3/testsuite/20_util/is_integral/value.cc
index 7d1cb9e5444..56974dcd502 100644
--- a/libstdc++-v3/testsuite/20_util/is_integral/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_integral/value.cc
@@ -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), "");
@@ -60,6 +61,7 @@ void test01()
#ifdef _GLIBCXX_USE_FLOAT128
static_assert(test_category<is_integral, __float128>(false), "");
#endif
+#endif
// Sanity check.
static_assert(test_category<is_integral, ClassType>(false), "");
diff --git a/libstdc++-v3/testsuite/20_util/is_signed/value.cc b/libstdc++-v3/testsuite/20_util/is_signed/value.cc
index ab09d0cb4b3..2e251035faa 100644
--- a/libstdc++-v3/testsuite/20_util/is_signed/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_signed/value.cc
@@ -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), "");
@@ -59,6 +60,7 @@ void test01()
#ifdef _GLIBCXX_USE_FLOAT128
static_assert(test_category<is_signed, __float128>(true), "");
#endif
+#endif
// Sanity check.
static_assert(test_category<is_signed, ClassType>(false), "");
diff --git a/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc b/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
index 3ced5bb730f..75bec3b379a 100644
--- a/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
@@ -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), "");
@@ -59,6 +60,7 @@ void test01()
#ifdef _GLIBCXX_USE_FLOAT128
static_assert(test_category<is_unsigned, __float128>(false), "");
#endif
+#endif
// Sanity check.
static_assert(test_category<is_unsigned, ClassType>(false), "");
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
index be8d4b05844..40b9fb8b73d 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
@@ -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
}
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
index 2378db19e6a..f58e8698e17 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
@@ -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
}
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
index 5971cab8966..09b63bbd3f1 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
@@ -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
}
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
index 19aa5d31b49..98d8bed85ac 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
@@ -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
}