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 --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv
index acad865..c5ed6fa 100644
--- a/libstdc++-v3/include/std/charconv
+++ b/libstdc++-v3/include/std/charconv
@@ -892,23 +892,25 @@
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)