12.0.1-0.9
This commit is contained in:
parent
9743a6a9b0
commit
b0dddd2d05
1
.gitignore
vendored
1
.gitignore
vendored
@ -64,3 +64,4 @@
|
||||
/gcc-12.0.1-20220205.tar.xz
|
||||
/gcc-12.0.1-20220212.tar.xz
|
||||
/gcc-12.0.1-20220214.tar.xz
|
||||
/gcc-12.0.1-20220222.tar.xz
|
||||
|
28
gcc.spec
28
gcc.spec
@ -1,5 +1,5 @@
|
||||
%global DATE 20220214
|
||||
%global gitrev 7222fb983d798306a83666324a92fce5e5881eb7
|
||||
%global DATE 20220222
|
||||
%global gitrev 9780ea50d2a0fb2b07bc9a0f71e28e9c1ef5e235
|
||||
%global gcc_version 12.0.1
|
||||
%global gcc_major 12
|
||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||
@ -120,7 +120,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}.8%{?dist}
|
||||
Release: %{gcc_release}.9%{?dist}
|
||||
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
|
||||
# GCC Runtime Exception.
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
||||
@ -270,8 +270,6 @@ Patch8: gcc12-no-add-needed.patch
|
||||
Patch9: gcc12-Wno-format-security.patch
|
||||
Patch10: gcc12-rh1574936.patch
|
||||
Patch11: gcc12-d-shared-libphobos.patch
|
||||
Patch12: gcc12-ifcvt-revert.patch
|
||||
Patch13: gcc12-pr104253.patch
|
||||
|
||||
Patch100: gcc12-fortran-fdec-duplicates.patch
|
||||
Patch101: gcc12-fortran-flogical-as-integer.patch
|
||||
@ -793,8 +791,6 @@ to NVidia PTX capable devices if available.
|
||||
%patch10 -p0 -b .rh1574936~
|
||||
%endif
|
||||
%patch11 -p0 -b .d-shared-libphobos~
|
||||
%patch12 -p0 -b .ifcvt-revert~
|
||||
%patch13 -p0 -b .pr104253~
|
||||
|
||||
%if 0%{?rhel} >= 9
|
||||
%patch100 -p1 -b .fortran-fdec-duplicates~
|
||||
@ -824,6 +820,7 @@ cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
|
||||
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
|
||||
|
||||
sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt
|
||||
sed -i -e 's/context->report_bug = false;/context->report_bug = true;/' gcc/diagnostic.cc
|
||||
|
||||
%ifarch ppc
|
||||
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
|
||||
@ -3167,6 +3164,23 @@ end
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Feb 22 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.9
|
||||
- update from trunk
|
||||
- PRs analyzer/104524, analyzer/104560, analyzer/104576, c++/85493,
|
||||
c++/90451, c++/94944, c++/95036, c++/104107, c++/104507, c++/104539,
|
||||
c++/104565, c/104506, c/104510, c/104531, c/104532, debug/104517,
|
||||
debug/104557, fortran/77693, fortran/104211, libstdc++/104542,
|
||||
libstdc++/104559, lto/104617, middle-end/104355, middle-end/104522,
|
||||
rtl-optimization/104447, rtl-optimization/104498,
|
||||
rtl-optimization/104544, sanitizer/102656, target/99708, target/99881,
|
||||
target/100056, target/100874, target/103069, target/104253,
|
||||
target/104257, target/104335, target/104440, target/104448,
|
||||
target/104536, target/104581, target/104598, target/104612,
|
||||
testsuite/104146, tree-optimization/96881, tree-optimization/103771,
|
||||
tree-optimization/104519, tree-optimization/104526,
|
||||
tree-optimization/104543, tree-optimization/104551,
|
||||
tree-optimization/104582, tree-optimization/104604
|
||||
|
||||
* Mon Feb 14 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.8
|
||||
- update from trunk
|
||||
- PRs ada/97504, ada/98724, c/104505, fortran/104228, libstdc++/100912,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,200 +0,0 @@
|
||||
If you are on a PowerPC system where the default long double is IEEE
|
||||
128-bit, GCC will use the wrong names for some of the conversion functions
|
||||
for the __ibm128 type.
|
||||
|
||||
What is happening is when the defult long double is IEEE 128-bit, the
|
||||
various convert, truncation, and extend functions did not specify a
|
||||
default name for the conversion. The machine indepentent portions of the
|
||||
compiler would construct a call with an 'if' name (IFmode being the mode
|
||||
for IBM 128-bit floating point). This patch specifies to use the
|
||||
tradiational 'tf' name for these conversion functions.
|
||||
|
||||
2022-01-28 Michael Meissner <meissner@the-meissners.org>
|
||||
|
||||
gcc/
|
||||
PR target/104253
|
||||
* config/rs6000/rs6000.cc (init_float128_ibm): Use the TF names
|
||||
for builtin conversions between __ibm128 and DImode when long
|
||||
double uses the IEEE 128-bit format.
|
||||
|
||||
gcc/testsuite/
|
||||
PR target/104253
|
||||
* gcc.target/powerpc/pr104253.c: New test.
|
||||
---
|
||||
gcc/config/rs6000/rs6000.cc | 6 +
|
||||
gcc/testsuite/gcc.target/powerpc/pr104253.c | 154 ++++++++++++++++++++
|
||||
2 files changed, 160 insertions(+)
|
||||
create mode 100644 gcc/testsuite/gcc.target/powerpc/pr104253.c
|
||||
|
||||
--- gcc/config/rs6000/rs6000.cc
|
||||
+++ gcc/config/rs6000/rs6000.cc
|
||||
@@ -11113,6 +11113,12 @@ init_float128_ibm (machine_mode mode)
|
||||
set_conv_libfunc (trunc_optab, DDmode, mode, "__dpd_trunctfdd");
|
||||
set_conv_libfunc (sext_optab, TDmode, mode, "__dpd_extendtftd");
|
||||
|
||||
+ set_conv_libfunc (sfix_optab, DImode, mode, "__fixtfdi");
|
||||
+ set_conv_libfunc (ufix_optab, DImode, mode, "__fixunstfdi");
|
||||
+
|
||||
+ set_conv_libfunc (sfloat_optab, mode, DImode, "__floatditf");
|
||||
+ set_conv_libfunc (ufloat_optab, mode, DImode, "__floatunditf");
|
||||
+
|
||||
if (TARGET_POWERPC64)
|
||||
{
|
||||
set_conv_libfunc (sfix_optab, TImode, mode, "__fixtfti");
|
||||
--- gcc/testsuite/gcc.target/powerpc/pr104253.c
|
||||
+++ gcc/testsuite/gcc.target/powerpc/pr104253.c
|
||||
@@ -0,0 +1,154 @@
|
||||
+/*
|
||||
+ * Require float128 support because __ibm128 currently is not enabled unless we
|
||||
+ * also have __float128 support.
|
||||
+ */
|
||||
+
|
||||
+/* { dg-do run } */
|
||||
+/* { require-effective-target ppc_float128_sw } */
|
||||
+/* { dg-options "-O2 -mvsx -mfloat128" } */
|
||||
+
|
||||
+/*
|
||||
+ * PR target/104253
|
||||
+ *
|
||||
+ * Verify that the various conversions to and from __ibm128 work. When the
|
||||
+ * default for long double is changed to IEEE 128-bit, originally GCC would
|
||||
+ * call the functions using an 'if' name instead of 'tf.
|
||||
+ */
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+extern float ibm128_to_sf (__ibm128) __attribute__((noinline));
|
||||
+extern double ibm128_to_df (__ibm128) __attribute__((noinline));
|
||||
+extern int ibm128_to_si (__ibm128) __attribute__((noinline));
|
||||
+extern long long ibm128_to_di (__ibm128) __attribute__((noinline));
|
||||
+extern unsigned int ibm128_to_usi (__ibm128) __attribute__((noinline));
|
||||
+extern unsigned long long ibm128_to_udi (__ibm128) __attribute__((noinline));
|
||||
+
|
||||
+extern __ibm128 sf_to_ibm128 (float) __attribute__((noinline));
|
||||
+extern __ibm128 df_to_ibm128 (double) __attribute__((noinline));
|
||||
+extern __ibm128 si_to_ibm128 (int) __attribute__((noinline));
|
||||
+extern __ibm128 di_to_ibm128 (long long) __attribute__((noinline));
|
||||
+extern __ibm128 usi_to_ibm128 (unsigned int) __attribute__((noinline));
|
||||
+extern __ibm128 udi_to_ibm128 (unsigned long long) __attribute__((noinline));
|
||||
+
|
||||
+float
|
||||
+ibm128_to_sf (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+double
|
||||
+ibm128_to_df (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+ibm128_to_si (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+long long
|
||||
+ibm128_to_di (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+unsigned int
|
||||
+ibm128_to_usi (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+unsigned long long
|
||||
+ibm128_to_udi (__ibm128 x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+sf_to_ibm128 (float x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+df_to_ibm128 (double x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+si_to_ibm128 (int x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+di_to_ibm128 (long long x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+usi_to_ibm128 (unsigned int x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+__ibm128
|
||||
+udi_to_ibm128 (unsigned long long x)
|
||||
+{
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+volatile float seven_sf = 7.0f;
|
||||
+volatile double seven_df = 7.0;
|
||||
+volatile int seven_si = 7;
|
||||
+volatile long long seven_di = 7LL;
|
||||
+volatile unsigned int seven_usi = 7U;
|
||||
+volatile unsigned long long seven_udi = 7ULL;
|
||||
+volatile __ibm128 seven_ibm128 = 7.0;
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+ if (seven_ibm128 != sf_to_ibm128 (seven_sf))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_ibm128 != df_to_ibm128 (seven_df))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_ibm128 != si_to_ibm128 (seven_si))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_ibm128 != di_to_ibm128 (seven_di))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_ibm128 != usi_to_ibm128 (seven_usi))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_ibm128 != udi_to_ibm128 (seven_udi))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_sf != ibm128_to_sf (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_df != ibm128_to_df (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_si != ibm128_to_si (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_di != ibm128_to_di (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_usi != ibm128_to_usi (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ if (seven_udi != ibm128_to_udi (seven_ibm128))
|
||||
+ abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
2
sources
2
sources
@ -1,4 +1,4 @@
|
||||
SHA512 (gcc-12.0.1-20220214.tar.xz) = a6f590b9facf2c80ec73d41ccd5bcd404722b76f7ff06d82f30b8b956349df4efa049b72285be1a76da52e851ef327b8fe42d05ea7e62149b2a4236611a8355f
|
||||
SHA512 (gcc-12.0.1-20220222.tar.xz) = 70426bab483df8ddcc58f80f709c087cb3c9e4992ddb910dc55986fbf8a0aa4067f401e3c2fad1e7a5d7832e18d3f24316ccd7a18db6601059a4b46325c6a899
|
||||
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
|
||||
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
|
||||
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
|
||||
|
Loading…
Reference in New Issue
Block a user