+2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * src/limits.cc: Replace everywhere __int128_t -> __int128, and
+ __uint128_t -> unsigned __int128.
+ * include/std/type_traits: Likewise.
+ * include/std/limits: Likewise.
+ * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
+ * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
+ * testsuite/18_support/numeric_limits/40856.cc: Likewise.
+ * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
+ * testsuite/util/testsuite_common_types.h: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
+ * testsuite/20_util/is_floating_point/value.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/is_signed/value.cc: Likewise.
+ * testsuite/20_util/is_unsigned/value.cc: Likewise.
+ * testsuite/20_util/is_integral/value.cc: Likewise.
+ * config/abi/pre/gnu.ver: Likewise.
+ * acinclude.m4: Likewise.
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+
2011-09-19 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40856
int main()
{
- typename same<long, __int128_t>::type i1;
- typename same<unsigned long, __uint128_t>::type u1;
- typename same<long long, __int128_t>::type i2;
- typename same<unsigned long long, __uint128_t>::type u2;
+ typename same<long, __int128>::type i1;
+ typename same<long long, __int128>::type i2;
}
EOF
- AC_MSG_CHECKING([for __int128_t and __uint128_t])
+ AC_MSG_CHECKING([for __int128])
if AC_TRY_EVAL(ac_compile); then
AC_DEFINE(_GLIBCXX_USE_INT128, 1,
- [Define if __int128_t and __uint128_t types are supported on this host.])
+ [Define if __int128 is supported on this host.])
enable_int128=yes
else
enable_int128=no
/* Define if get_nprocs is available in <sys/sysinfo.h>. */
#undef _GLIBCXX_USE_GET_NPROCS
-/* Define if __int128_t and __uint128_t types are supported on this host. */
+/* Define if __int128 is supported on this host. */
#undef _GLIBCXX_USE_INT128
/* Define if LFS support is available. */
# std::chrono::steady_clock::now()
_ZNSt6chrono12steady_clock3nowEv;
- # std::numeric_limits<__int128_t> and <__uint128_t>
+ # std::numeric_limits<__int128> and <unsigned __int128>
_ZNSt14numeric_limitsInE*;
_ZNSt14numeric_limitsIoE*;
int main()
{
- typename same<long, __int128_t>::type i1;
- typename same<unsigned long, __uint128_t>::type u1;
- typename same<long long, __int128_t>::type i2;
- typename same<unsigned long long, __uint128_t>::type u2;
+ typename same<long, __int128>::type i1;
+ typename same<long long, __int128>::type i2;
}
EOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __int128_t and __uint128_t" >&5
-$as_echo_n "checking for __int128_t and __uint128_t... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __int128" >&5
+$as_echo_n "checking for __int128... " >&6; }
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 15590 "configure"
+#line 15588 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
};
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- /// numeric_limits<__int128_t> specialization.
+ /// numeric_limits<__int128> specialization.
template<>
- struct numeric_limits<__int128_t>
+ struct numeric_limits<__int128>
{
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
- static _GLIBCXX_CONSTEXPR __int128_t
- min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (__int128_t); }
+ static _GLIBCXX_CONSTEXPR __int128
+ min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (__int128); }
- static _GLIBCXX_CONSTEXPR __int128_t
- max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (__int128_t); }
+ static _GLIBCXX_CONSTEXPR __int128
+ max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (__int128); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
- static constexpr __int128_t
+ static constexpr __int128
lowest() noexcept { return min(); }
#endif
static _GLIBCXX_USE_CONSTEXPR int digits
- = __glibcxx_digits (__int128_t);
+ = __glibcxx_digits (__int128);
static _GLIBCXX_USE_CONSTEXPR int digits10
- = __glibcxx_digits10 (__int128_t);
+ = __glibcxx_digits10 (__int128);
#ifdef __GXX_EXPERIMENTAL_CXX0X__
static constexpr int max_digits10 = 0;
#endif
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2;
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
= denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
infinity() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__int128_t>(0); }
+ { return static_cast<__int128>(0); }
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
quiet_NaN() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__int128_t>(0); }
+ { return static_cast<__int128>(0); }
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
signaling_NaN() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__int128_t>(0); }
+ { return static_cast<__int128>(0); }
- static _GLIBCXX_CONSTEXPR __int128_t
+ static _GLIBCXX_CONSTEXPR __int128
denorm_min() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__int128_t>(0); }
+ { return static_cast<__int128>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
= round_toward_zero;
};
- /// numeric_limits<__uint128_t> specialization.
+ /// numeric_limits<unsigned __int128> specialization.
template<>
- struct numeric_limits<__uint128_t>
+ struct numeric_limits<unsigned __int128>
{
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
min() _GLIBCXX_USE_NOEXCEPT { return 0; }
- static _GLIBCXX_CONSTEXPR __uint128_t
- max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (__uint128_t); }
+ static _GLIBCXX_CONSTEXPR unsigned __int128
+ max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (unsigned __int128); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
- static constexpr __uint128_t
+ static constexpr unsigned __int128
lowest() noexcept { return min(); }
#endif
static _GLIBCXX_USE_CONSTEXPR int digits
- = __glibcxx_digits (__uint128_t);
+ = __glibcxx_digits (unsigned __int128);
static _GLIBCXX_USE_CONSTEXPR int digits10
- = __glibcxx_digits10 (__uint128_t);
+ = __glibcxx_digits10 (unsigned __int128);
#ifdef __GXX_EXPERIMENTAL_CXX0X__
static constexpr int max_digits10 = 0;
#endif
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2;
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
= denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
infinity() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__uint128_t>(0); }
+ { return static_cast<unsigned __int128>(0); }
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
quiet_NaN() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__uint128_t>(0); }
+ { return static_cast<unsigned __int128>(0); }
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
signaling_NaN() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__uint128_t>(0); }
+ { return static_cast<unsigned __int128>(0); }
- static _GLIBCXX_CONSTEXPR __uint128_t
+ static _GLIBCXX_CONSTEXPR unsigned __int128
denorm_min() _GLIBCXX_USE_NOEXCEPT
- { return static_cast<__uint128_t>(0); }
+ { return static_cast<unsigned __int128>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true;
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
template<>
- struct __is_integral_helper<__int128_t>
+ struct __is_integral_helper<__int128>
: public true_type { };
template<>
- struct __is_integral_helper<__uint128_t>
+ struct __is_integral_helper<unsigned __int128>
: public true_type { };
#endif
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
template<>
- struct __make_unsigned<__int128_t>
- { typedef __uint128_t __type; };
+ struct __make_unsigned<__int128>
+ { typedef unsigned __int128 __type; };
#endif
// Select between integral and enum: not possible to be both.
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
template<>
- struct __make_signed<__uint128_t>
- { typedef __int128_t __type; };
+ struct __make_signed<unsigned __int128>
+ { typedef __int128 __type; };
#endif
// Select between integral and enum: not possible to be both.
const float_round_style numeric_limits<unsigned long long>::round_style;
#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- const bool numeric_limits<__int128_t>::is_specialized;
- const int numeric_limits<__int128_t>::digits;
- const int numeric_limits<__int128_t>::digits10;
- const int numeric_limits<__int128_t>::max_digits10;
- const bool numeric_limits<__int128_t>::is_signed;
- const bool numeric_limits<__int128_t>::is_integer;
- const bool numeric_limits<__int128_t>::is_exact;
- const int numeric_limits<__int128_t>::radix;
- const int numeric_limits<__int128_t>::min_exponent;
- const int numeric_limits<__int128_t>::min_exponent10;
- const int numeric_limits<__int128_t>::max_exponent;
- const int numeric_limits<__int128_t>::max_exponent10;
- const bool numeric_limits<__int128_t>::has_infinity;
- const bool numeric_limits<__int128_t>::has_quiet_NaN;
- const bool numeric_limits<__int128_t>::has_signaling_NaN;
- const float_denorm_style numeric_limits<__int128_t>::has_denorm;
- const bool numeric_limits<__int128_t>::has_denorm_loss;
- const bool numeric_limits<__int128_t>::is_iec559;
- const bool numeric_limits<__int128_t>::is_bounded;
- const bool numeric_limits<__int128_t>::is_modulo;
- const bool numeric_limits<__int128_t>::traps;
- const bool numeric_limits<__int128_t>::tinyness_before;
- const float_round_style numeric_limits<__int128_t>::round_style;
-
- const bool numeric_limits<__uint128_t>::is_specialized;
- const int numeric_limits<__uint128_t>::digits;
- const int numeric_limits<__uint128_t>::digits10;
- const int numeric_limits<__uint128_t>::max_digits10;
- const bool numeric_limits<__uint128_t>::is_signed;
- const bool numeric_limits<__uint128_t>::is_integer;
- const bool numeric_limits<__uint128_t>::is_exact;
- const int numeric_limits<__uint128_t>::radix;
- const int numeric_limits<__uint128_t>::min_exponent;
- const int numeric_limits<__uint128_t>::min_exponent10;
- const int numeric_limits<__uint128_t>::max_exponent;
- const int numeric_limits<__uint128_t>::max_exponent10;
- const bool numeric_limits<__uint128_t>::has_infinity;
- const bool numeric_limits<__uint128_t>::has_quiet_NaN;
- const bool numeric_limits<__uint128_t>::has_signaling_NaN;
- const float_denorm_style numeric_limits<__uint128_t>::has_denorm;
- const bool numeric_limits<__uint128_t>::has_denorm_loss;
- const bool numeric_limits<__uint128_t>::is_iec559;
- const bool numeric_limits<__uint128_t>::is_bounded;
- const bool numeric_limits<__uint128_t>::is_modulo;
- const bool numeric_limits<__uint128_t>::traps;
- const bool numeric_limits<__uint128_t>::tinyness_before;
- const float_round_style numeric_limits<__uint128_t>::round_style;
+ const bool numeric_limits<__int128>::is_specialized;
+ const int numeric_limits<__int128>::digits;
+ const int numeric_limits<__int128>::digits10;
+ const int numeric_limits<__int128>::max_digits10;
+ const bool numeric_limits<__int128>::is_signed;
+ const bool numeric_limits<__int128>::is_integer;
+ const bool numeric_limits<__int128>::is_exact;
+ const int numeric_limits<__int128>::radix;
+ const int numeric_limits<__int128>::min_exponent;
+ const int numeric_limits<__int128>::min_exponent10;
+ const int numeric_limits<__int128>::max_exponent;
+ const int numeric_limits<__int128>::max_exponent10;
+ const bool numeric_limits<__int128>::has_infinity;
+ const bool numeric_limits<__int128>::has_quiet_NaN;
+ const bool numeric_limits<__int128>::has_signaling_NaN;
+ const float_denorm_style numeric_limits<__int128>::has_denorm;
+ const bool numeric_limits<__int128>::has_denorm_loss;
+ const bool numeric_limits<__int128>::is_iec559;
+ const bool numeric_limits<__int128>::is_bounded;
+ const bool numeric_limits<__int128>::is_modulo;
+ const bool numeric_limits<__int128>::traps;
+ const bool numeric_limits<__int128>::tinyness_before;
+ const float_round_style numeric_limits<__int128>::round_style;
+
+ const bool numeric_limits<unsigned __int128>::is_specialized;
+ const int numeric_limits<unsigned __int128>::digits;
+ const int numeric_limits<unsigned __int128>::digits10;
+ const int numeric_limits<unsigned __int128>::max_digits10;
+ const bool numeric_limits<unsigned __int128>::is_signed;
+ const bool numeric_limits<unsigned __int128>::is_integer;
+ const bool numeric_limits<unsigned __int128>::is_exact;
+ const int numeric_limits<unsigned __int128>::radix;
+ const int numeric_limits<unsigned __int128>::min_exponent;
+ const int numeric_limits<unsigned __int128>::min_exponent10;
+ const int numeric_limits<unsigned __int128>::max_exponent;
+ const int numeric_limits<unsigned __int128>::max_exponent10;
+ const bool numeric_limits<unsigned __int128>::has_infinity;
+ const bool numeric_limits<unsigned __int128>::has_quiet_NaN;
+ const bool numeric_limits<unsigned __int128>::has_signaling_NaN;
+ const float_denorm_style numeric_limits<unsigned __int128>::has_denorm;
+ const bool numeric_limits<unsigned __int128>::has_denorm_loss;
+ const bool numeric_limits<unsigned __int128>::is_iec559;
+ const bool numeric_limits<unsigned __int128>::is_bounded;
+ const bool numeric_limits<unsigned __int128>::is_modulo;
+ const bool numeric_limits<unsigned __int128>::traps;
+ const bool numeric_limits<unsigned __int128>::tinyness_before;
+ const float_round_style numeric_limits<unsigned __int128>::round_style;
#endif
// float
// libstdc++/40856
#ifdef _GLIBCXX_USE_INT128
-static_assert(std::numeric_limits<__int128_t>::is_specialized == true, "");
-static_assert(std::numeric_limits<__uint128_t>::is_specialized == true, "");
+static_assert(std::numeric_limits<__int128>::is_specialized == true, "");
+static_assert(std::numeric_limits<unsigned __int128>::is_specialized == true,
+ "");
#endif
do_test<unsigned long long>();
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- do_test<__int128_t>();
- do_test<__uint128_t>();
+ do_test<__int128>();
+ do_test<unsigned __int128>();
#endif
do_test<float>();
do_test<double>();
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- do_test<__int128_t>();
- do_test<__uint128_t>();
+ do_test<__int128>();
+ do_test<unsigned __int128>();
#endif
do_test<float>();
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- VERIFY( std::numeric_limits<__int128_t>::max_digits10 == 0 );
- VERIFY( std::numeric_limits<__uint128_t>::max_digits10 == 0 );
+ VERIFY( std::numeric_limits<__int128>::max_digits10 == 0 );
+ VERIFY( std::numeric_limits<unsigned __int128>::max_digits10 == 0 );
#endif
const int f_max_digits10 = (2 + std::numeric_limits<float>::digits
#endif
#ifdef _GLIBCXX_USE_INT128
- VERIFY( (test_category<is_floating_point, __int128_t>(false)) );
- VERIFY( (test_category<is_floating_point, __uint128_t>(false)) );
+ VERIFY( (test_category<is_floating_point, __int128>(false)) );
+ VERIFY( (test_category<is_floating_point, unsigned __int128>(false)) );
#endif
// Sanity check.
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- VERIFY( (test_category<is_integral, __int128_t>(true)) );
- VERIFY( (test_category<is_integral, __uint128_t>(true)) );
+ VERIFY( (test_category<is_integral, __int128>(true)) );
+ VERIFY( (test_category<is_integral, unsigned __int128>(true)) );
#endif
#ifdef _GLIBCXX_USE_FLOAT128
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- VERIFY( (test_category<is_signed, __int128_t>(true)) );
- VERIFY( (test_category<is_signed, __uint128_t>(false)) );
+ VERIFY( (test_category<is_signed, __int128>(true)) );
+ VERIFY( (test_category<is_signed, unsigned __int128>(false)) );
#endif
#ifdef _GLIBCXX_USE_FLOAT128
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- VERIFY( (test_category<is_unsigned, __uint128_t>(true)) );
- VERIFY( (test_category<is_unsigned, __int128_t>(false)) );
+ VERIFY( (test_category<is_unsigned, unsigned __int128>(true)) );
+ VERIFY( (test_category<is_unsigned, __int128>(false)) );
#endif
#ifdef _GLIBCXX_USE_FLOAT128
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- typedef make_signed<__uint128_t>::type test25_type;
- VERIFY( (is_same<test25_type, __int128_t>::value) );
+ typedef make_signed<unsigned __int128>::type test25_type;
+ VERIFY( (is_same<test25_type, __int128>::value) );
- typedef make_signed<__int128_t>::type test26_type;
- VERIFY( (is_same<test26_type, __int128_t>::value) );
+ typedef make_signed<__int128>::type test26_type;
+ VERIFY( (is_same<test26_type, __int128>::value) );
#endif
}
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- typedef make_signed<__uint128_t>::type test25_type;
- VERIFY( (is_same<test25_type, __int128_t>::value) );
+ typedef make_signed<unsigned __int128>::type test25_type;
+ VERIFY( (is_same<test25_type, __int128>::value) );
- typedef make_signed<__int128_t>::type test26_type;
- VERIFY( (is_same<test26_type, __int128_t>::value) );
+ typedef make_signed<__int128>::type test26_type;
+ VERIFY( (is_same<test26_type, __int128>::value) );
#endif
}
// Chapter 48, chapter 20. Smallest rank such that new unsigned type
// same size.
- typedef make_unsigned<test_enum>::type test24_type;
+ typedef make_unsigned<test_enum>::type test24_type;
VERIFY( is_unsigned<test24_type>::value );
VERIFY( sizeof(test24_type) == sizeof(test_enum) );
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- typedef make_unsigned<__uint128_t>::type test25_type;
- VERIFY( (is_same<test25_type, __uint128_t>::value) );
+ typedef make_unsigned<unsigned __int128>::type test25_type;
+ VERIFY( (is_same<test25_type, unsigned __int128>::value) );
- typedef make_unsigned<__int128_t>::type test26_type;
- VERIFY( (is_same<test26_type, __uint128_t>::value) );
+ typedef make_unsigned<__int128>::type test26_type;
+ VERIFY( (is_same<test26_type, unsigned __int128>::value) );
#endif
}
VERIFY( (is_same<test23_type, volatile wchar_t>::value) );
#endif
- typedef make_unsigned<test_enum>::type test24_type;
+ typedef make_unsigned<test_enum>::type test24_type;
VERIFY( (is_same<test24_type, unsigned short>::value) );
// GNU Extensions.
#ifdef _GLIBCXX_USE_INT128
- typedef make_unsigned<__uint128_t>::type test25_type;
- VERIFY( (is_same<test25_type, __uint128_t>::value) );
+ typedef make_unsigned<unsigned __int128>::type test25_type;
+ VERIFY( (is_same<test25_type, unsigned __int128>::value) );
- typedef make_unsigned<__int128_t>::type test26_type;
- VERIFY( (is_same<test26_type, __uint128_t>::value) );
+ typedef make_unsigned<__int128>::type test26_type;
+ VERIFY( (is_same<test26_type, unsigned __int128>::value) );
#endif
}
typedef char16_t a14;
typedef char32_t a15;
# if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- typedef __int128_t a16;
- typedef __uint128_t a17;
+ typedef __int128 a16;
+ typedef unsigned __int128 a17;
typedef node<_GLIBCXX_TYPELIST_CHAIN17(a1, a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12, a13, a14, a15,
# endif
#else
# if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128)
- typedef __int128_t a14;
- typedef __uint128_t a15;
+ typedef __int128 a14;
+ typedef unsigned __int128 a15;
typedef node<_GLIBCXX_TYPELIST_CHAIN15(a1, a2, a3, a4, a5, a6, a7, a8, a9,
a10, a11, a12, a13, a14, a15)> type;