libstdc++: [_GLIBCXX_INLINE_VERSION] Add to_chars/from_chars symbols export
authorFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 26 Nov 2022 07:51:58 +0000 (08:51 +0100)
committerFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 14 Jan 2023 13:24:35 +0000 (14:24 +0100)
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.

libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/include/std/format

index 06ccaa8..7fc8151 100644 (file)
@@ -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:
     *;
 };
index 77f7c9f..1cce4eb 100644 (file)
@@ -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