diff --git a/.gitignore b/.gitignore index 21519f5..da7cf68 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,4 @@ /gcc-9.0.1-20190418.tar.xz /gcc-9.0.1-20190426.tar.xz /gcc-9.0.1-20190430.tar.xz +/gcc-9.1.1-20190503.tar.xz diff --git a/gcc.spec b/gcc.spec index 052cb3c..59c3df2 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190430 -%global SVNREV 270701 -%global gcc_version 9.0.1 +%global DATE 20190503 +%global SVNREV 270850 +%global gcc_version 9.1.1 %global gcc_major 9 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 0.16 +%global gcc_release 1 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -232,12 +232,6 @@ Requires: libgomp = %{version}-%{release} Obsoletes: gcc-gnat < %{version}-%{release} %endif Obsoletes: gcc-java < %{version}-%{release} -%ifarch %{ix86} x86_64 -Obsoletes: libcilkrts -Obsoletes: libcilkrts-static -Obsoletes: libmpx -Obsoletes: libmpx-static -%endif AutoReq: true Provides: bundled(libiberty) Provides: gcc(major) = %{gcc_major} @@ -254,6 +248,7 @@ Patch8: gcc9-foffload-default.patch Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch +Patch12: gcc9-pr90303.patch Patch1000: nvptx-tools-no-ptxas.patch Patch1001: nvptx-tools-build.patch @@ -314,6 +309,12 @@ Obsoletes: libmudflap-static Obsoletes: libgcj < %{version}-%{release} Obsoletes: libgcj-devel < %{version}-%{release} Obsoletes: libgcj-src < %{version}-%{release} +%ifarch %{ix86} x86_64 +Obsoletes: libcilkrts +Obsoletes: libcilkrts-static +Obsoletes: libmpx +Obsoletes: libmpx-static +%endif %description -n libgcc This package contains GCC shared support library which is needed @@ -764,6 +765,7 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ +%patch12 -p0 -b .pr90303~ cd nvptx-tools-%{nvptx_tools_gitrev} %patch1000 -p1 -b .nvptx-tools-no-ptxas~ @@ -2975,6 +2977,14 @@ end %endif %changelog +* Fri May 3 2019 Jakub Jelinek 9.1.1-1 +- update from 9 branch + - GCC 9.1 release + - PR tree-optimization/90316 +- fix up devirtualization ICE with fastcall attribute (#1705081, + PR tree-optimization/90303) +- move Obsoletes for lib{cilkrts,mpx}{,-static} from gcc to libgcc subpackage + * Tue Apr 30 2019 Jakub Jelinek 9.0.1-0.16 - update from 9 branch - gcc 9.1-rc2 diff --git a/gcc9-libstdc++-docs.patch b/gcc9-libstdc++-docs.patch index be98558..4656a79 100644 --- a/gcc9-libstdc++-docs.patch +++ b/gcc9-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 9.0.1 ++ Release 9.1.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 9.0.1 release, ++ for the 9.1.1 release, + online for each GCC release and diff --git a/gcc9-pr90303.patch b/gcc9-pr90303.patch new file mode 100644 index 0000000..f67c9dd --- /dev/null +++ b/gcc9-pr90303.patch @@ -0,0 +1,39 @@ +2019-05-03 Jakub Jelinek + + PR tree-optimization/90303 + * ipa-devirt.c (obj_type_ref_class, get_odr_type): Don't use + TYPE_CANONICAL for TYPE_STRUCTURAL_EQUALITY_P types in !in_lto_p mode. + + * g++.target/i386/pr90303.C: New test. + +--- gcc/ipa-devirt.c (revision 270834) ++++ gcc/ipa-devirt.c (revision 270835) +@@ -2020,7 +2020,7 @@ obj_type_ref_class (const_tree ref) + ref = TREE_VALUE (TYPE_ARG_TYPES (ref)); + gcc_checking_assert (TREE_CODE (ref) == POINTER_TYPE); + tree ret = TREE_TYPE (ref); +- if (!in_lto_p) ++ if (!in_lto_p && !TYPE_STRUCTURAL_EQUALITY_P (ret)) + ret = TYPE_CANONICAL (ret); + else + ret = get_odr_type (ret)->type; +@@ -2042,7 +2042,7 @@ get_odr_type (tree type, bool insert) + int base_id = -1; + + type = TYPE_MAIN_VARIANT (type); +- if (!in_lto_p) ++ if (!in_lto_p && !TYPE_STRUCTURAL_EQUALITY_P (type)) + type = TYPE_CANONICAL (type); + + gcc_checking_assert (can_be_name_hashed_p (type) +--- gcc/testsuite/g++.target/i386/pr90303.C (nonexistent) ++++ gcc/testsuite/g++.target/i386/pr90303.C (revision 270835) +@@ -0,0 +1,8 @@ ++// PR tree-optimization/90303 ++// { dg-do compile { target ia32 } } ++// { dg-additional-options "-O2" } ++ ++struct A { virtual void foo (); }; ++template class B : A {}; ++typedef void (__attribute__((fastcall)) F) (); ++B e; diff --git a/sources b/sources index 2ba8128..f5e38f1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190430.tar.xz) = c1b6cfa8be2478aa6df3d7be247fcd5098f8d402e4c70ff65c6a439533dc327fd3249a48b357dd9e242afd67a1b4ea60b71baa709802716952a22677320fae9f +SHA512 (gcc-9.1.1-20190503.tar.xz) = 9787c7f4bc6a2e918cafa5ef0bc21dd29eb88541297168049cffea150d08f50023e6b639bc24fe53daf6f603db286a7a8dd17357d139f0d0cfb3cee2850fee8b SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1