From d010a39b9e788a1b3c58e0954c1b2c6afad8210a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tomasz=20Kami=C5=84ski?= Date: Thu, 15 May 2025 08:58:09 +0200 Subject: [PATCH] libstdc++: Fix preprocessor check for __float128 formatter [PR119246] The previous check `_GLIBCXX_FORMAT_F128 != 1` was passing if _GLIBCXX_FORMAT_F128 was not defined, i.e. evaluted to zero. This broke sparc-sun-solaris2.11 and x86_64-darwin. PR libstdc++/119246 libstdc++-v3/ChangeLog: * include/std/format: Updated check for _GLIBCXX_FORMAT_F128. --- libstdc++-v3/include/std/format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format index f0b0252255d..bfda5895e0c 100644 --- a/libstdc++-v3/include/std/format +++ b/libstdc++-v3/include/std/format @@ -2973,7 +2973,7 @@ namespace __format }; #endif -#if defined(__SIZEOF_FLOAT128__) && _GLIBCXX_FORMAT_F128 != 1 +#if defined(__SIZEOF_FLOAT128__) && _GLIBCXX_FORMAT_F128 > 1 // Reuse __formatter_fp::format<__format::__flt128_t, Out> for __float128. // This formatter is not declared if _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT is true, // as __float128 when present is same type as __ieee128, which may be same as -- 2.47.2