public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 11.1.0/gentoo/
Date: Wed, 19 May 2021 17:48:35 +0000 (UTC)	[thread overview]
Message-ID: <1621446475.4984e512c6bb242ed2734c7c8a2b90ba0c9f44c5.slyfox@gentoo> (raw)

commit:     4984e512c6bb242ed2734c7c8a2b90ba0c9f44c5
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed May 19 17:47:55 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed May 19 17:47:55 2021 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=4984e512

11.1.0: backport msp430 float_to_chars build fix

Bug: https://gcc.gnu.org/PR100361
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 11.1.0/gentoo/27_all_msp430-f2c.patch | 85 +++++++++++++++++++++++++++++++++++
 11.1.0/gentoo/README.history          |  3 ++
 2 files changed, 88 insertions(+)

diff --git a/11.1.0/gentoo/27_all_msp430-f2c.patch b/11.1.0/gentoo/27_all_msp430-f2c.patch
new file mode 100644
index 0000000..2c9a3c2
--- /dev/null
+++ b/11.1.0/gentoo/27_all_msp430-f2c.patch
@@ -0,0 +1,85 @@
+https://gcc.gnu.org/PR100361
+
+2021-05-18  Joern Rennecke  <joern.rennecke@riscy-ip.com>
+
+    libstdc++: Disable floating_to_chars.cc on 16 bit targets
+    
+    This patch conditionally disables the compilation of floating_to_chars.cc
+    on 16 bit targets, thus fixing a build failure for these targets as
+    the POW10_SPLIT_2 array exceeds the maximum object size.
+
+libstdc++-v3/
+	PR libstdc++/100361
+	* include/std/charconv (to_chars): Hide the overloads for
+	floating-point types for 16 bit targets.
+	* src/c++17/floating_to_chars.cc: Don't compile for 16 bit targets.
+	* testsuite/20_util/to_chars/double.cc: Run this test only on
+	size32plus targets.
+	* testsuite/20_util/to_chars/float.cc: Likewise.
+	* testsuite/20_util/to_chars/long_double.cc: Likewise.
+
+diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv
+index 193702e677a..ac9c34d4601 100644
+--- a/libstdc++-v3/include/std/charconv
++++ b/libstdc++-v3/include/std/charconv
+@@ -703,7 +703,8 @@ namespace __detail
+ 	     chars_format __fmt = chars_format::general) noexcept;
+ #endif
+ 
+-#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64
++#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 \
++    && __SIZE_WIDTH__ >= 32
+   // Floating-point std::to_chars
+ 
+   // Overloads for float.
+diff --git a/libstdc++-v3/src/c++17/floating_to_chars.cc b/libstdc++-v3/src/c++17/floating_to_chars.cc
+index 1a0abb9e80f..44f547a77b4 100644
+--- a/libstdc++-v3/src/c++17/floating_to_chars.cc
++++ b/libstdc++-v3/src/c++17/floating_to_chars.cc
+@@ -50,7 +50,9 @@ extern "C" int __sprintfieee128(char*, const char*, ...);
+ 
+ // This implementation crucially assumes float/double have the
+ // IEEE binary32/binary64 formats.
+-#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64
++#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 \
++    /* And it also assumes that uint64_t POW10_SPLIT_2[3133][3] is valid.  */\
++    && __SIZE_WIDTH__ >= 32
+ 
+ // Determine the binary format of 'long double'.
+ 
+diff --git a/libstdc++-v3/testsuite/20_util/to_chars/double.cc b/libstdc++-v3/testsuite/20_util/to_chars/double.cc
+index bb6f74424ed..64e62213044 100644
+--- a/libstdc++-v3/testsuite/20_util/to_chars/double.cc
++++ b/libstdc++-v3/testsuite/20_util/to_chars/double.cc
+@@ -33,6 +33,7 @@
+ 
+ // { dg-do run { target c++17 } }
+ // { dg-require-effective-target ieee-floats }
++// { dg-require-effective-target size32plus }
+ 
+ #include <charconv>
+ 
+diff --git a/libstdc++-v3/testsuite/20_util/to_chars/float.cc b/libstdc++-v3/testsuite/20_util/to_chars/float.cc
+index 0c8dd4f66df..73b9081d4ff 100644
+--- a/libstdc++-v3/testsuite/20_util/to_chars/float.cc
++++ b/libstdc++-v3/testsuite/20_util/to_chars/float.cc
+@@ -33,6 +33,7 @@
+ 
+ // { dg-do run { target c++17 } }
+ // { dg-require-effective-target ieee-floats }
++// { dg-require-effective-target size32plus }
+ 
+ #include <charconv>
+ 
+diff --git a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
+index 8cf45ad5e94..447e5368811 100644
+--- a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
++++ b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
+@@ -35,6 +35,7 @@
+ // { dg-xfail-run-if "Non-conforming printf (see PR98384)" { *-*-solaris* *-*-darwin* } }
+ 
+ // { dg-require-effective-target ieee-floats }
++// { dg-require-effective-target size32plus }
+ 
+ #include <charconv>
+ 

diff --git a/11.1.0/gentoo/README.history b/11.1.0/gentoo/README.history
index b2cb96e..9c9ad5e 100644
--- a/11.1.0/gentoo/README.history
+++ b/11.1.0/gentoo/README.history
@@ -1,3 +1,6 @@
+2		TODO
+	+ 27_all_msp430-f2c.patch
+
 1		27 Apr 2021
 	+ 01_all_default-fortify-source.patch
 	+ 02_all_default-warn-format-security.patch


             reply	other threads:[~2021-05-19 17:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-19 17:48 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-07-05 20:45 [gentoo-commits] proj/gcc-patches:master commit in: 11.1.0/gentoo/ Sergei Trofimovich
2021-07-05 20:30 Sergei Trofimovich
2021-06-10  7:36 Sergei Trofimovich
2021-06-08  7:11 Sergei Trofimovich
2021-05-29  9:23 Sergei Trofimovich
2021-05-28 22:20 Sergei Trofimovich
2021-05-20 22:14 Sergei Trofimovich
2021-04-27 17:34 Sergei Trofimovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1621446475.4984e512c6bb242ed2734c7c8a2b90ba0c9f44c5.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox