[gcc r13-3932] libstdc++: Fix up to_chars ppc64le _Float128 overloads [PR107636]

Jakub Jelinek jakub@gcc.gnu.org
Sat Nov 12 20:57:23 GMT 2022


https://gcc.gnu.org/g:ec6c2029714057b4bca344ee59be977d17361092

commit r13-3932-gec6c2029714057b4bca344ee59be977d17361092
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Nov 12 21:56:47 2022 +0100

    libstdc++: Fix up to_chars ppc64le _Float128 overloads [PR107636]
    
    As reported, I've misplaced __extension__ keywords in these cases
    (wanted not to have them on the whole inlines because _Float128 is
    completely standard now while __float128 is not, but before return
    it is a syntax error.
    I've verified on a short testcase that both g++ and clang++ accept
    __extension__ after return keyword.
    
    2022-11-12  Jakub Jelinek  <jakub@redhat.com>
    
            PR libstdc++/107636
            * include/std/charconv (to_chars): Fix up powerpc64le _Float128
            overload __extension__ placement.

Diff:
---
 libstdc++-v3/include/std/charconv | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv
index acad865f8aa..c5ed6fac73b 100644
--- a/libstdc++-v3/include/std/charconv
+++ b/libstdc++-v3/include/std/charconv
@@ -892,23 +892,25 @@ namespace __detail
   inline to_chars_result
   to_chars(char* __first, char* __last, _Float128 __value) noexcept
   {
-    __extension__
-    return to_chars(__first, __last, static_cast<__float128>(__value));
+    return __extension__ to_chars(__first, __last,
+				  static_cast<__float128>(__value));
   }
   inline to_chars_result
   to_chars(char* __first, char* __last, _Float128 __value,
 	   chars_format __fmt) noexcept
   {
-    __extension__
-    return to_chars(__first, __last, static_cast<__float128>(__value), __fmt);
+
+    return __extension__ to_chars(__first, __last,
+				  static_cast<__float128>(__value), __fmt);
   }
   inline to_chars_result
   to_chars(char* __first, char* __last, _Float128 __value,
 	   chars_format __fmt, int __precision) noexcept
   {
-    __extension__
-    return to_chars(__first, __last, static_cast<__float128>(__value), __fmt,
-		    __precision);
+
+    return __extension__ to_chars(__first, __last,
+				  static_cast<__float128>(__value), __fmt,
+				  __precision);
   }
 #else
   to_chars_result to_chars(char* __first, char* __last, _Float128 __value)


More information about the Libstdc++-cvs mailing list