From e176c031f02d01623b697c3c78c85cebb0506e87 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Dumont?= Date: Sat, 26 Nov 2022 08:51:58 +0100 Subject: [PATCH] libstdc++: [_GLIBCXX_INLINE_VERSION] Add to_chars/from_chars symbols export libstdc++-v3/ChangeLog * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol specifications. * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols export. --- .../config/abi/pre/gnu-versioned-namespace.ver | 6 ++++++ libstdc++-v3/include/std/format | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver index 06ccaa80a580..7fc815148086 100644 --- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver +++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver @@ -142,6 +142,12 @@ GLIBCXX_8.0 { _ZN14__gnu_parallel9_Settings3getEv; _ZN14__gnu_parallel9_Settings3setERS0_; + # to_chars/from_chars _Float128 + _ZNSt3__88to_charsEPcS0_DF128_; + _ZNSt3__88to_charsEPcS0_DF128_NS_12chars_formatE; + _ZNSt3__88to_charsEPcS0_DF128_NS_12chars_formatEi; + _ZNSt3__810from_charsEPKcS1_RDF128_NS_12chars_formatE; + local: *; }; diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format index 77f7c9fef3f1..1cce4ebd45cb 100644 --- a/libstdc++-v3/include/std/format +++ b/libstdc++-v3/include/std/format @@ -1296,15 +1296,27 @@ namespace __format // Make them available as std::__format::to_chars. to_chars_result to_chars(char*, char*, _Float128) noexcept +# if _GLIBCXX_INLINE_VERSION + __asm("_ZNSt3__88to_charsEPcS0_DF128_"); +# else __asm("_ZSt8to_charsPcS_DF128_"); +# endif to_chars_result to_chars(char*, char*, _Float128, chars_format) noexcept +# if _GLIBCXX_INLINE_VERSION + __asm("_ZNSt3__88to_charsEPcS0_DF128_NS_12chars_formatE"); +# else __asm("_ZSt8to_charsPcS_DF128_St12chars_format"); +# endif to_chars_result to_chars(char*, char*, _Float128, chars_format, int) noexcept +# if _GLIBCXX_INLINE_VERSION + __asm("_ZNSt3__88to_charsEPcS0_DF128_NS_12chars_formatEi"); +# else __asm("_ZSt8to_charsPcS_DF128_St12chars_formati"); +# endif # endif #endif -- 2.47.3