summary refs log tree commit diff
path: root/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch
blob: aff2ef16f14f6b0b0bdbe65723e757c6e52a6db3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff -u -r gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc
--- gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc	2023-04-13 11:36:08.169841428 +0200
+++ gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc	2023-04-13 11:36:54.825827304 +0200
@@ -495,8 +495,14 @@
 from_chars(const char* first, const char* last, __ieee128& value,
 	   chars_format fmt) noexcept
 {
+#if _GLIBCXX_USE_CXX11_ABI
   buffer_resource mr;
   pmr::string buf(&mr);
+#else
+  string buf;
+  if (!reserve_string(buf))
+    return make_result(first, 0, {}, ec);
+#endif
   size_t len = 0;
   errc ec = errc::invalid_argument;
   __try