Index: src/limits.cc =================================================================== --- src/limits.cc (revision 179041) +++ src/limits.cc (working copy) @@ -390,53 +390,53 @@ const float_round_style numeric_limits::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<__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<__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::is_specialized; + const int numeric_limits::digits; + const int numeric_limits::digits10; + const int numeric_limits::max_digits10; + const bool numeric_limits::is_signed; + const bool numeric_limits::is_integer; + const bool numeric_limits::is_exact; + const int numeric_limits::radix; + const int numeric_limits::min_exponent; + const int numeric_limits::min_exponent10; + const int numeric_limits::max_exponent; + const int numeric_limits::max_exponent10; + const bool numeric_limits::has_infinity; + const bool numeric_limits::has_quiet_NaN; + const bool numeric_limits::has_signaling_NaN; + const float_denorm_style numeric_limits::has_denorm; + const bool numeric_limits::has_denorm_loss; + const bool numeric_limits::is_iec559; + const bool numeric_limits::is_bounded; + const bool numeric_limits::is_modulo; + const bool numeric_limits::traps; + const bool numeric_limits::tinyness_before; + const float_round_style numeric_limits::round_style; #endif // float Index: include/std/type_traits =================================================================== --- include/std/type_traits (revision 179041) +++ include/std/type_traits (working copy) @@ -215,11 +215,11 @@ #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 : public true_type { }; #endif @@ -1416,8 +1416,8 @@ #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. @@ -1498,8 +1498,8 @@ #if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_INT128) template<> - struct __make_signed<__uint128_t> - { typedef __int128_t __type; }; + struct __make_signed + { typedef __int128 __type; }; #endif // Select between integral and enum: not possible to be both. Index: include/std/limits =================================================================== --- include/std/limits (revision 179041) +++ include/std/limits (working copy) @@ -1400,27 +1400,27 @@ }; #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 @@ -1429,10 +1429,10 @@ 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; @@ -1447,21 +1447,21 @@ = 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; @@ -1474,27 +1474,27 @@ = round_toward_zero; }; - /// numeric_limits<__uint128_t> specialization. + /// numeric_limits specialization. template<> - struct numeric_limits<__uint128_t> + struct numeric_limits { 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 @@ -1503,10 +1503,10 @@ 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; @@ -1521,21 +1521,21 @@ = 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(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(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(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(0); } static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_bounded = true; Index: testsuite/18_support/numeric_limits/dr559.cc =================================================================== --- testsuite/18_support/numeric_limits/dr559.cc (revision 179041) +++ testsuite/18_support/numeric_limits/dr559.cc (working copy) @@ -97,8 +97,8 @@ do_test(); // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - do_test<__int128_t>(); - do_test<__uint128_t>(); + do_test<__int128>(); + do_test(); #endif do_test(); do_test(); Index: testsuite/18_support/numeric_limits/lowest.cc =================================================================== --- testsuite/18_support/numeric_limits/lowest.cc (revision 179041) +++ testsuite/18_support/numeric_limits/lowest.cc (working copy) @@ -74,8 +74,8 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - do_test<__int128_t>(); - do_test<__uint128_t>(); + do_test<__int128>(); + do_test(); #endif do_test(); Index: testsuite/18_support/numeric_limits/40856.cc =================================================================== --- testsuite/18_support/numeric_limits/40856.cc (revision 179041) +++ testsuite/18_support/numeric_limits/40856.cc (working copy) @@ -22,6 +22,7 @@ // 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::is_specialized == true, + ""); #endif Index: testsuite/18_support/numeric_limits/max_digits10.cc =================================================================== --- testsuite/18_support/numeric_limits/max_digits10.cc (revision 179041) +++ testsuite/18_support/numeric_limits/max_digits10.cc (working copy) @@ -49,8 +49,8 @@ // 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::max_digits10 == 0 ); #endif const int f_max_digits10 = (2 + std::numeric_limits::digits Index: testsuite/util/testsuite_common_types.h =================================================================== --- testsuite/util/testsuite_common_types.h (revision 179041) +++ testsuite/util/testsuite_common_types.h (working copy) @@ -305,8 +305,8 @@ 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, @@ -317,8 +317,8 @@ # 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; Index: testsuite/20_util/make_signed/requirements/typedefs-1.cc =================================================================== --- testsuite/20_util/make_signed/requirements/typedefs-1.cc (revision 179041) +++ testsuite/20_util/make_signed/requirements/typedefs-1.cc (working copy) @@ -59,11 +59,11 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - typedef make_signed<__uint128_t>::type test25_type; - VERIFY( (is_same::value) ); + typedef make_signed::type test25_type; + VERIFY( (is_same::value) ); - typedef make_signed<__int128_t>::type test26_type; - VERIFY( (is_same::value) ); + typedef make_signed<__int128>::type test26_type; + VERIFY( (is_same::value) ); #endif } Index: testsuite/20_util/make_signed/requirements/typedefs-2.cc =================================================================== --- testsuite/20_util/make_signed/requirements/typedefs-2.cc (revision 179041) +++ testsuite/20_util/make_signed/requirements/typedefs-2.cc (working copy) @@ -58,11 +58,11 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - typedef make_signed<__uint128_t>::type test25_type; - VERIFY( (is_same::value) ); + typedef make_signed::type test25_type; + VERIFY( (is_same::value) ); - typedef make_signed<__int128_t>::type test26_type; - VERIFY( (is_same::value) ); + typedef make_signed<__int128>::type test26_type; + VERIFY( (is_same::value) ); #endif } Index: testsuite/20_util/is_floating_point/value.cc =================================================================== --- testsuite/20_util/is_floating_point/value.cc (revision 179041) +++ testsuite/20_util/is_floating_point/value.cc (working copy) @@ -53,8 +53,8 @@ #endif #ifdef _GLIBCXX_USE_INT128 - VERIFY( (test_category(false)) ); - VERIFY( (test_category(false)) ); + VERIFY( (test_category(false)) ); + VERIFY( (test_category(false)) ); #endif // Sanity check. Index: testsuite/20_util/make_unsigned/requirements/typedefs-1.cc =================================================================== --- testsuite/20_util/make_unsigned/requirements/typedefs-1.cc (revision 179041) +++ testsuite/20_util/make_unsigned/requirements/typedefs-1.cc (working copy) @@ -54,17 +54,17 @@ // Chapter 48, chapter 20. Smallest rank such that new unsigned type // same size. - typedef make_unsigned::type test24_type; + typedef make_unsigned::type test24_type; VERIFY( is_unsigned::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::value) ); + typedef make_unsigned::type test25_type; + VERIFY( (is_same::value) ); - typedef make_unsigned<__int128_t>::type test26_type; - VERIFY( (is_same::value) ); + typedef make_unsigned<__int128>::type test26_type; + VERIFY( (is_same::value) ); #endif } Index: testsuite/20_util/make_unsigned/requirements/typedefs-2.cc =================================================================== --- testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (revision 179041) +++ testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (working copy) @@ -53,16 +53,16 @@ VERIFY( (is_same::value) ); #endif - typedef make_unsigned::type test24_type; + typedef make_unsigned::type test24_type; VERIFY( (is_same::value) ); // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - typedef make_unsigned<__uint128_t>::type test25_type; - VERIFY( (is_same::value) ); + typedef make_unsigned::type test25_type; + VERIFY( (is_same::value) ); - typedef make_unsigned<__int128_t>::type test26_type; - VERIFY( (is_same::value) ); + typedef make_unsigned<__int128>::type test26_type; + VERIFY( (is_same::value) ); #endif } Index: testsuite/20_util/is_signed/value.cc =================================================================== --- testsuite/20_util/is_signed/value.cc (revision 179041) +++ testsuite/20_util/is_signed/value.cc (working copy) @@ -51,8 +51,8 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - VERIFY( (test_category(true)) ); - VERIFY( (test_category(false)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(false)) ); #endif #ifdef _GLIBCXX_USE_FLOAT128 Index: testsuite/20_util/is_unsigned/value.cc =================================================================== --- testsuite/20_util/is_unsigned/value.cc (revision 179041) +++ testsuite/20_util/is_unsigned/value.cc (working copy) @@ -51,8 +51,8 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - VERIFY( (test_category(true)) ); - VERIFY( (test_category(false)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(false)) ); #endif #ifdef _GLIBCXX_USE_FLOAT128 Index: testsuite/20_util/is_integral/value.cc =================================================================== --- testsuite/20_util/is_integral/value.cc (revision 179041) +++ testsuite/20_util/is_integral/value.cc (working copy) @@ -53,8 +53,8 @@ // GNU Extensions. #ifdef _GLIBCXX_USE_INT128 - VERIFY( (test_category(true)) ); - VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); #endif #ifdef _GLIBCXX_USE_FLOAT128 Index: config/abi/pre/gnu.ver =================================================================== --- config/abi/pre/gnu.ver (revision 179041) +++ config/abi/pre/gnu.ver (working copy) @@ -1298,7 +1298,7 @@ # std::chrono::steady_clock::now() _ZNSt6chrono12steady_clock3nowEv; - # std::numeric_limits<__int128_t> and <__uint128_t> + # std::numeric_limits<__int128> and _ZNSt14numeric_limitsInE*; _ZNSt14numeric_limitsIoE*; Index: acinclude.m4 =================================================================== --- acinclude.m4 (revision 179041) +++ acinclude.m4 (working copy) @@ -2446,17 +2446,15 @@ int main() { - typename same::type i1; - typename same::type u1; - typename same::type i2; - typename same::type u2; + typename same::type i1; + typename same::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