This makes Ryu consistently use the uint128_t alias defined in floating_to_chars.cc.
libstdc++-v3/ChangeLog: * src/c++17/ryu/LOCAL_PATCHES: Update. * src/c++17/ryu/d2s_intrinsics.h: Don't define uint128_t. * src/c++17/ryu/generic_128.h: Likewise. * src/c++17/ryu/ryu_generic_128.h (struct floating_decimal_128): Use uint128_t instead of __uint128_t. (generic_binary_to_decimal): Likewise. --- libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES | 1 + libstdc++-v3/src/c++17/ryu/d2s_intrinsics.h | 4 ---- libstdc++-v3/src/c++17/ryu/generic_128.h | 3 --- libstdc++-v3/src/c++17/ryu/ryu_generic_128.h | 4 ++-- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES b/libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES index c26633ee6c2..a72168c1f71 100644 --- a/libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES +++ b/libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES @@ -1 +1,2 @@ r11-6248 +r11-???? diff --git a/libstdc++-v3/src/c++17/ryu/d2s_intrinsics.h b/libstdc++-v3/src/c++17/ryu/d2s_intrinsics.h index fa993e6fad6..bbac4dfd48f 100644 --- a/libstdc++-v3/src/c++17/ryu/d2s_intrinsics.h +++ b/libstdc++-v3/src/c++17/ryu/d2s_intrinsics.h @@ -28,10 +28,6 @@ #define HAS_64_BIT_INTRINSICS #endif -#if defined(HAS_UINT128) -typedef __uint128_t uint128_t; -#endif - #if defined(HAS_64_BIT_INTRINSICS) diff --git a/libstdc++-v3/src/c++17/ryu/generic_128.h b/libstdc++-v3/src/c++17/ryu/generic_128.h index 88e96776664..d3ca398fbdb 100644 --- a/libstdc++-v3/src/c++17/ryu/generic_128.h +++ b/libstdc++-v3/src/c++17/ryu/generic_128.h @@ -17,9 +17,6 @@ #ifndef RYU_GENERIC128_H #define RYU_GENERIC128_H - -typedef __uint128_t uint128_t; - #define FLOAT_128_POW5_INV_BITCOUNT 249 #define FLOAT_128_POW5_BITCOUNT 249 #define POW5_TABLE_SIZE 56 diff --git a/libstdc++-v3/src/c++17/ryu/ryu_generic_128.h b/libstdc++-v3/src/c++17/ryu/ryu_generic_128.h index f5d476343b6..2afbf274e11 100644 --- a/libstdc++-v3/src/c++17/ryu/ryu_generic_128.h +++ b/libstdc++-v3/src/c++17/ryu/ryu_generic_128.h @@ -37,7 +37,7 @@ extern "C" { // A floating decimal representing (-1)^s * m * 10^e. struct floating_decimal_128 { - __uint128_t mantissa; + uint128_t mantissa; int32_t exponent; bool sign; }; @@ -52,7 +52,7 @@ struct floating_decimal_128 long_double_to_fd128(long double d); // Converts the given binary floating point number to the shortest decimal floating point number // that still accurately represents it. struct floating_decimal_128 generic_binary_to_decimal( - const __uint128_t bits, const uint32_t mantissaBits, const uint32_t exponentBits, const bool explicitLeadingBit); + const uint128_t bits, const uint32_t mantissaBits, const uint32_t exponentBits, const bool explicitLeadingBit); // Converts the given decimal floating point number to a string, writing to result, and returning // the number characters written. Does not terminate the buffer with a 0. In the worst case, this -- 2.31.0.rc2