]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Replace uses of _GLIBCXX_USE_INT128 in testsuite
authorJonathan Wakely <jwakely@redhat.com>
Fri, 8 Oct 2021 19:41:24 +0000 (20:41 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 8 Oct 2021 23:57:48 +0000 (00:57 +0100)
Since r12-435 the _GLIBCXX_USE_INT128 macro is never defined, so all
uses of it in the testsuite are wrong. The tests should be checking
__SIZEOF_INT128__ instead.

Also add some tests for an INT_3 type, which were missing.

libstdc++-v3/ChangeLog:

* testsuite/18_support/numeric_limits/40856.cc: Replace use of
_GLIBCXX_USE_INT128.
* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
* 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/20_util/type_identity/requirements/typedefs.cc:
Likewise.
* testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
* testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
* testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
* testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
* testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
* testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
Likewise.
* testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.

libstdc++-v3/ChangeLog:

* testsuite/26_numerics/bit/bit.rotate/rotr.cc:
* testsuite/util/testsuite_common_types.h:

25 files changed:
libstdc++-v3/testsuite/18_support/numeric_limits/40856.cc
libstdc++-v3/testsuite/18_support/numeric_limits/dr559.cc
libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc
libstdc++-v3/testsuite/18_support/numeric_limits/max_digits10.cc
libstdc++-v3/testsuite/20_util/is_floating_point/value.cc
libstdc++-v3/testsuite/20_util/is_integral/value.cc
libstdc++-v3/testsuite/20_util/is_signed/value.cc
libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/type_identity/requirements/typedefs.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.count/countl_one.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.count/countl_zero.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.count/countr_one.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.count/countr_zero.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.count/popcount.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/bit_width.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.rotate/rotl.cc
libstdc++-v3/testsuite/26_numerics/bit/bit.rotate/rotr.cc
libstdc++-v3/testsuite/util/testsuite_common_types.h

index 08564fbf1744380e17864998c7ae5fcf87ca3aed..ee1cf9c0cf87df68a584de6dde4a81c5c6492361 100644 (file)
@@ -19,8 +19,8 @@
 
 #include <limits>
 
-// libstdc++/40856 
-#if defined _GLIBCXX_USE_INT128 && ! defined __STRICT_ANSI__
+// libstdc++/40856
+#if defined __SIZEOF_INT128__
 static_assert(std::numeric_limits<__int128>::is_specialized == true, "");
 static_assert(std::numeric_limits<unsigned __int128>::is_specialized == true,
              "");
index a90cc46b1869951bb146989cbe52c864db73f6a1..96a636767390556f082a9a3992660c8d5241a666 100644 (file)
@@ -98,7 +98,7 @@ int main()
   do_test<long long>();
   do_test<unsigned long long>();
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   do_test<__int128>();
   do_test<unsigned __int128>();
 #endif
index 49c1c4d695353738d60dbf61a2c2971c638836a2..b44dcf4282607f8190d8e9795db917922c2e973b 100644 (file)
@@ -74,7 +74,7 @@ void test01()
   do_test<unsigned long long>();
 
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   do_test<__int128>();
   do_test<unsigned __int128>();
 #endif
index a136439a761e044e880cf687906d7fb5ef27ac23..bc7317c76a348dc60b03098bc5f14f48e6ee5dea 100644 (file)
@@ -49,7 +49,7 @@ test01()
   VERIFY( std::numeric_limits<char32_t>::max_digits10 == 0 );
 
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   VERIFY( std::numeric_limits<__int128>::max_digits10 == 0 );
   VERIFY( std::numeric_limits<unsigned __int128>::max_digits10 == 0 );
 #endif
index 5dbdbf84d9908b8b9db11a46a0f586c28c3d9671..c84351c706f965189fee9988572bc9aa1e5c7467 100644 (file)
@@ -53,7 +53,7 @@ void test01()
   static_assert(test_category<is_floating_point, __float128>(true), "");
 #endif
 
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   static_assert(test_category<is_floating_point, __int128>(false), "");
   static_assert(test_category<is_floating_point,
                unsigned __int128>(false), "");
index 469232629653e759eff0c6c2d7063373c47f45ad..44962b55895dc312cdd6ee8e03c379c1bc958242 100644 (file)
@@ -55,7 +55,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   static_assert(test_category<is_integral, __int128>(true), "");
   static_assert(test_category<is_integral, unsigned __int128>(true), "");
 #endif
index f55d0f62b3a4451861d124896d5fc59eccee607d..8d17e972090a87ce58c3e3dfdf38ca1bdab53b6f 100644 (file)
@@ -51,7 +51,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   static_assert(test_category<is_signed, __int128>(true), "");
   static_assert(test_category<is_signed, unsigned __int128>(false), "");
 #endif
index bda79ecdb46a82c08754d37e14195d8b84f6ced9..d682220358b039b6c26457793bafef34e8b08383 100644 (file)
@@ -51,7 +51,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   static_assert(test_category<is_unsigned, unsigned __int128>(true), "");
   static_assert(test_category<is_unsigned, __int128>(false), "");
 #endif
index 87b6155564aa976e89beab5b3eb9ca528825b4b3..c010c9701dfb333c916f27e1a5ee33fc5e80da43 100644 (file)
@@ -68,7 +68,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   typedef make_signed<unsigned __int128>::type  test25_type;
   static_assert( is_same<test25_type, __int128>::value,
                  "make_signed<unsigned __int128>" );
index 879e19f977972db20d528be0b71a75d563ca7b1a..0edf3d648b56e7bedaf42d576c78bf684315bdf3 100644 (file)
@@ -61,7 +61,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   typedef make_signed<unsigned __int128>::type  test25_type;
   static_assert(is_same<test25_type, __int128>::value, "");
 
index 3e4649a4f18697987b1a869cb241df78d7e7329c..e437c53cd8e6cad40863e9ab0442684520affba4 100644 (file)
@@ -62,7 +62,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   typedef make_unsigned<unsigned __int128>::type test25_type;
   static_assert(is_same<test25_type, unsigned __int128>::value, "");
 
index 36ec6365785ebda896ff2ecdc46d1474d8fca063..7e2b8c459e7aeed834c14b50a074061089b48997 100644 (file)
@@ -61,7 +61,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   typedef make_unsigned<unsigned __int128>::type  test25_type;
   static_assert(is_same<test25_type, unsigned __int128>::value, "");
 
index 302162c4f869e9b9076a6291d3becd87bf33e36f..61f84118c634c41e2476cfbd43b49b7fdd842701 100644 (file)
@@ -86,7 +86,7 @@ void test01()
 
 #ifndef __STRICT_ANSI__
   // GNU Extensions.
-#ifdef _GLIBCXX_USE_INT128
+#ifdef __SIZEOF_INT128__
   static_assert(test<unsigned __int128>::value, "");
   static_assert(test<unsigned __int128>::value, "");
 #endif
index 9412a80049f6617e6cbc3c5da6e1c192e70056bf..5e2a314e13a61b40433fde36ef54911d102c6c71 100644 (file)
@@ -74,7 +74,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -90,6 +90,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index e198f8554398d982c0d9a9571a7c808165963ad2..dc4d2e6cbd22a2be76e30d084627d62951155d1d 100644 (file)
@@ -71,7 +71,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -87,6 +87,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index db0e76b3a399439e343152a82f03b43d25121653..677daa52c2d807098b7fcccd567a6c23b62ea567 100644 (file)
@@ -73,7 +73,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -89,6 +89,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index f273dcb4b4b973d730b17d72fb837b427fb2a8e3..7f45fbc9d32d34eb99c6126dd3da620728638a89 100644 (file)
@@ -72,7 +72,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -88,6 +88,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 0f088fe6a7cdd1084b82a579751129db0cfb689d..b37b3ef54a73ffad932431db1202854b8cee4d07 100644 (file)
@@ -75,7 +75,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -91,6 +91,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 509fce4bb0974e020c4f8c76daa6c0e99b9dbd41..c6ed47fda07c2e7453a9da68dbd9fd55e0aed816 100644 (file)
@@ -107,7 +107,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
index d51555f323f4f2748c0704ff55113b9b2d18e24a..eb2b66b331c014eef0ca3518f07b717730ce150e 100644 (file)
@@ -79,7 +79,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -95,6 +95,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 8e91f5d0e0ef404e363bdeb7817493c0316a135d..053f81b0c7db027831c7584a7f0b4a38aa7dfd47 100644 (file)
@@ -79,7 +79,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -95,6 +95,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 756d57dbf856e59317bb9f5be77e1685b26b3715..6df9cec66652cebe94217c03ad24949fcb6f0cb4 100644 (file)
@@ -127,7 +127,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -143,6 +143,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 6022b9b3834d41f4988c0c19b91730cf0141c206..8a879eb85b22a5fc402e22a03b5db277422e4142 100644 (file)
@@ -104,7 +104,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -120,6 +120,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index a77c45d9786c292a48d291ffbf22e5bc1b7aba19..46c20636cf59dae823fbcc8bc7f795ca1f9a2139 100644 (file)
@@ -106,7 +106,7 @@ static_assert( test( X{} ).did_not_match() );
 enum E : unsigned { e };
 static_assert( test( e ).did_not_match() );
 
-#if !defined(__STRICT_ANSI__) && defined _GLIBCXX_USE_INT128
+#if !defined(__STRICT_ANSI__) && defined __SIZEOF_INT128__
 static_assert( test( (unsigned __int128)0 ) );
 static_assert( test( (__int128)0 ).did_not_match() );
 #endif
@@ -122,6 +122,10 @@ static_assert( test( (__GLIBCXX_TYPE_INT_N_1)0 ).did_not_match() );
 static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_2)0 ) );
 static_assert( test( (__GLIBCXX_TYPE_INT_N_2)0 ).did_not_match() );
 #endif
+#if defined(__GLIBCXX_TYPE_INT_N_3)
+static_assert( test( (unsigned __GLIBCXX_TYPE_INT_N_3)0 ) );
+static_assert( test( (__GLIBCXX_TYPE_INT_N_3)0 ).did_not_match() );
+#endif
 
 #include <cstddef>
 static_assert( test( (std::byte)0 ).did_not_match() );
index 9a3152b3a84d30f97a2a6195682fc1fa5ae40a6d..392264fd2071bd12cdd01064847c799d129d4791 100644 (file)
@@ -327,7 +327,7 @@ namespace __gnu_test
 #else
     typedef node<null_type> char8_typelist;
 #endif
-# if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
+# if !defined(__STRICT_ANSI__) && defined(__SIZEOF_INT128__)
     __extension__ typedef __int128            a17;
     __extension__ typedef unsigned __int128   a18;
     typedef node<_GLIBCXX_TYPELIST_CHAIN2(a17, a18)> int128_typelist;