]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix preprocessor check for __float128 formatter [PR119246]
authorTomasz Kamiński <tkaminsk@redhat.com>
Thu, 15 May 2025 06:58:09 +0000 (08:58 +0200)
committerTomasz Kamiński <tkaminsk@redhat.com>
Thu, 15 May 2025 07:10:57 +0000 (09:10 +0200)
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

index f0b0252255d358ff33667d8b4edf9e03f29ead3a..bfda5895e0c0dee5030234c630c4d4578a95feab 100644 (file)
@@ -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<C>::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