From ec6c2029714057b4bca344ee59be977d17361092 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 12 Nov 2022 21:56:47 +0100 Subject: [PATCH] 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 PR libstdc++/107636 * include/std/charconv (to_chars): Fix up powerpc64le _Float128 overload __extension__ placement. --- 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 acad865..c5ed6fa 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) -- 2.7.4