diff --git a/.gitignore b/.gitignore index 830f66f..8d92f45 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,5 @@ /gcc-9.0.1-20190129.tar.xz /gcc-9.0.1-20190203.tar.xz /gcc-9.0.1-20190209.tar.xz +/gcc-9.0.1-20190215.tar.xz +/gcc-9.0.1-20190219.tar.xz diff --git a/gcc.spec b/gcc.spec index ce6c3dc..6038f4a 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190209 -%global SVNREV 268719 +%global DATE 20190219 +%global SVNREV 269023 %global gcc_version 9.0.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.4 +%global gcc_release 0.6 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -254,11 +254,11 @@ Patch8: gcc9-foffload-default.patch Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch -Patch12: gcc9-pr88714.patch -Patch13: gcc9-pr89014.patch -Patch14: gcc9-pr89093.patch -Patch15: gcc9-pr88977.patch -Patch16: gcc9-pr89229.patch +Patch12: gcc9-pr89014.patch +Patch13: gcc9-pr89093.patch +Patch14: gcc9-s390x-bootstrap-fix.patch +Patch15: gcc9-pr88714.patch +Patch16: gcc9-pr89402.patch Patch30: libphobos-enable-riscv-v3.patch @@ -771,11 +771,11 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ -%patch12 -p0 -b .pr88714~ -%patch13 -p0 -b .pr89014~ -%patch14 -p0 -b .pr89093~ -%patch15 -p0 -b .pr88977~ -%patch16 -p0 -b .pr89229~ +%patch12 -p0 -b .pr89014~ +%patch13 -p0 -b .pr89093~ +%patch14 -p0 -b .s390x-bootstrap~ +%patch15 -p0 -b .pr88714~ +%patch16 -p0 -b .pr89402~ %patch30 -p1 -b .libphobos-riscv~ @@ -2986,6 +2986,31 @@ end %endif %changelog +* Tue Feb 19 2019 Jakub Jelinek 9.0.1-0.6 +- update from trunk + - PRs c++/88680, c++/89217, c++/89315, c++/89336, c++/89356, c++/89383, + c++/89387, c++/89390, c++/89391, c/87924, d/88127, fortran/71066, + fortran/87689, fortran/88299, ipa/89306, middle-end/88074, + middle-end/89294, rtl-optimization/66152, target/89271, target/89361, + target/89372, target/89397, tree-optimization/89209, + tree-optimization/89296 + - fix s390{,x} (#1677602, PR target/89369) + +* Fri Feb 15 2019 Jakub Jelinek 9.0.1-0.5 +- update from trunk + - PRs c++/77304, c++/86379, c++/87322, c++/87996, c++/88977, c++/88986, + c++/89036, c++/89144, c++/89212, c++/89241, c++/89297, c/89340, + d/87864, fortran/67679, fortran/71723, fortran/72715, fortran/81552, + fortran/88248, fortran/88649, fortran/89200, go/89193, ipa/88711, + ipa/88755, ipa/89009, libbacktrace/81983, libstdc++/89023, + libstdc++/89345, lto/87957, lto/88147, lto/88677, lto/88858, + lto/88876, lto/89272, middle-end/89281, middle-end/89284, + middle-end/89303, other/69006, other/89342, rtl-optimization/88308, + rtl-optimization/89242, rtl-optimization/89354, target/88847, + target/89190, target/89233, target/89290, tree-optimization/88771, + tree-optimization/89253, tree-optimization/89268, + tree-optimization/89278, tree-optimization/89314 + * Sat Feb 9 2019 Jakub Jelinek 9.0.1-0.4 - update from trunk - PRs c++/44648, c++/71302, c++/86218, c++/87770, c++/89158, c++/89187, diff --git a/gcc9-pr88714.patch b/gcc9-pr88714.patch index 4f1e255..fddbf38 100644 --- a/gcc9-pr88714.patch +++ b/gcc9-pr88714.patch @@ -1,32 +1,39 @@ -2019-02-08 Jakub Jelinek +2019-02-18 Jakub Jelinek PR bootstrap/88714 - * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint - instead of r. + * constraints.md (q): Remove. + * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint + instead of q. ---- gcc/config/arm/ldrdstrd.md.jj 2019-02-08 11:25:42.368916124 +0100 -+++ gcc/config/arm/ldrdstrd.md 2019-02-08 12:38:33.647585108 +0100 -@@ -157,9 +157,9 @@ (define_peephole2 ; swap the destination - ;; We use gen_operands_ldrd_strd() with a modify argument as false so that the - ;; operands are not changed. +--- gcc/config/arm/constraints.md.jj 2019-01-01 12:37:27.032812929 +0100 ++++ gcc/config/arm/constraints.md 2019-02-18 20:18:51.816941795 +0100 +@@ -90,9 +90,6 @@ (define_constraint "PJ" + (define_register_constraint "k" "STACK_REG" + "@internal The stack register.") + +-(define_register_constraint "q" "(TARGET_ARM && TARGET_LDRD) ? CORE_REGS : GENERAL_REGS" +- "@internal In ARM state with LDRD support, core registers, otherwise general registers.") +- + (define_register_constraint "b" "TARGET_THUMB ? BASE_REGS : NO_REGS" + "@internal + Thumb only. The union of the low registers and the stack register.") +--- gcc/config/arm/ldrdstrd.md.jj 2019-02-18 20:19:34.976233961 +0100 ++++ gcc/config/arm/ldrdstrd.md 2019-02-18 20:19:54.555912842 +0100 +@@ -159,7 +159,7 @@ (define_peephole2 ; swap the destination (define_insn "*arm_ldrd" -- [(parallel [(set (match_operand:SI 0 "s_register_operand" "=r") -+ [(parallel [(set (match_operand:SI 0 "s_register_operand" "=q") + [(parallel [(set (match_operand:SI 0 "s_register_operand" "=r") (match_operand:SI 2 "memory_operand" "m")) -- (set (match_operand:SI 1 "s_register_operand" "=r") -+ (set (match_operand:SI 1 "s_register_operand" "=q") +- (set (match_operand:SI 1 "s_register_operand" "=q") ++ (set (match_operand:SI 1 "s_register_operand" "=rk") (match_operand:SI 3 "memory_operand" "m"))])] "TARGET_LDRD && TARGET_ARM && reload_completed && valid_operands_ldrd_strd (operands, true)" -@@ -178,9 +178,9 @@ (define_insn "*arm_ldrd" - - (define_insn "*arm_strd" +@@ -180,7 +180,7 @@ (define_insn "*arm_strd" [(parallel [(set (match_operand:SI 2 "memory_operand" "=m") -- (match_operand:SI 0 "s_register_operand" "r")) -+ (match_operand:SI 0 "s_register_operand" "q")) + (match_operand:SI 0 "s_register_operand" "r")) (set (match_operand:SI 3 "memory_operand" "=m") -- (match_operand:SI 1 "s_register_operand" "r"))])] -+ (match_operand:SI 1 "s_register_operand" "q"))])] +- (match_operand:SI 1 "s_register_operand" "q"))])] ++ (match_operand:SI 1 "s_register_operand" "rk"))])] "TARGET_LDRD && TARGET_ARM && reload_completed && valid_operands_ldrd_strd (operands, false)" { diff --git a/gcc9-pr88977.patch b/gcc9-pr88977.patch deleted file mode 100644 index f60b984..0000000 --- a/gcc9-pr88977.patch +++ /dev/null @@ -1,48 +0,0 @@ -2019-02-08 Jakub Jelinek - - PR c++/88977 - * pt.c (convert_nontype_argument): Pass true as manifestly_const_eval - to maybe_constant_value calls. - - * g++.dg/cpp2a/is-constant-evaluated7.C: New test. - ---- gcc/cp/pt.c.jj 2019-02-05 10:04:19.038028029 +0100 -+++ gcc/cp/pt.c 2019-02-08 09:46:23.370257199 +0100 -@@ -6821,12 +6821,14 @@ convert_nontype_argument (tree type, tre - /* Make sure we return NULL_TREE only if we have really issued - an error, as described above. */ - return (complain & tf_error) ? NULL_TREE : error_mark_node; -- expr = maybe_constant_value (expr); -+ expr = maybe_constant_value (expr, NULL_TREE, -+ /*manifestly_const_eval=*/true); - expr = convert_from_reference (expr); - } - else if (TYPE_PTR_OR_PTRMEM_P (type)) - { -- tree folded = maybe_constant_value (expr); -+ tree folded = maybe_constant_value (expr, NULL_TREE, -+ /*manifestly_const_eval=*/true); - if (TYPE_PTR_P (type) ? integer_zerop (folded) - : null_member_pointer_value_p (folded)) - expr = folded; ---- gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated7.C.jj 2019-02-08 09:53:47.255935430 +0100 -+++ gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated7.C 2019-02-08 09:49:45.159957823 +0100 -@@ -0,0 +1,18 @@ -+// P0595R2 -+// PR c++/88977 -+// { dg-do compile { target c++11 } } -+ -+namespace std { -+ constexpr inline bool -+ is_constant_evaluated () noexcept -+ { -+ return __builtin_is_constant_evaluated (); -+ } -+} -+ -+template constexpr bool foo () { return B; } -+ -+constexpr bool x = foo (); -+constexpr bool y = foo<__builtin_is_constant_evaluated ()> (); -+static_assert (x, ""); -+static_assert (y, ""); diff --git a/gcc9-pr89229.patch b/gcc9-pr89229.patch deleted file mode 100644 index 97e59e4..0000000 --- a/gcc9-pr89229.patch +++ /dev/null @@ -1,54 +0,0 @@ -2019-02-09 Jakub Jelinek - - Revert: - 2019-02-08 H.J. Lu - - PR target/89229 - * config/i386/i386.md (*movoi_internal_avx): Set mode to XI for - upper 16 vector registers without TARGET_AVX512VL. - (*movti_internal): Likewise. - - Revert: - 2019-02-07 H.J. Lu - - PR target/89229 - * config/i386/i386.md (*movoi_internal_avx): Set mode to OI - for TARGET_AVX512VL. - (*movti_internal): Set mode to TI for TARGET_AVX512VL. - ---- gcc/config/i386/i386.md (revision 268678) -+++ gcc/config/i386/i386.md (revision 268656) -@@ -1933,13 +1933,12 @@ (define_insn "*movoi_internal_avx" - (set_attr "type" "sselog1,sselog1,ssemov,ssemov") - (set_attr "prefix" "vex") - (set (attr "mode") -- (cond [(and (not (match_test "TARGET_AVX512VL")) -- (ior (match_operand 0 "ext_sse_reg_operand") -- (match_operand 1 "ext_sse_reg_operand"))) -+ (cond [(ior (match_operand 0 "ext_sse_reg_operand") -+ (match_operand 1 "ext_sse_reg_operand")) - (const_string "XI") - (and (eq_attr "alternative" "1") - (match_test "TARGET_AVX512VL")) -- (const_string "OI") -+ (const_string "XI") - (ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") - (and (eq_attr "alternative" "3") - (match_test "TARGET_SSE_TYPELESS_STORES"))) -@@ -2013,13 +2012,12 @@ (define_insn "*movti_internal" - (set (attr "mode") - (cond [(eq_attr "alternative" "0,1") - (const_string "DI") -- (and (not (match_test "TARGET_AVX512VL")) -- (ior (match_operand 0 "ext_sse_reg_operand") -- (match_operand 1 "ext_sse_reg_operand"))) -+ (ior (match_operand 0 "ext_sse_reg_operand") -+ (match_operand 1 "ext_sse_reg_operand")) - (const_string "XI") - (and (eq_attr "alternative" "3") - (match_test "TARGET_AVX512VL")) -- (const_string "TI") -+ (const_string "XI") - (ior (not (match_test "TARGET_SSE2")) - (ior (match_test "TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL") - (and (eq_attr "alternative" "5") diff --git a/gcc9-pr89402.patch b/gcc9-pr89402.patch new file mode 100644 index 0000000..a8fc080 --- /dev/null +++ b/gcc9-pr89402.patch @@ -0,0 +1,16 @@ +2019-02-19 Jakub Jelinek + + PR libstdc++/89402 + * src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add + _GLIBCXX_PURE to the alias declaration. + +--- libstdc++-v3/src/c++98/compatibility-ldbl.cc.jj 2019-01-01 12:39:41.530606161 +0100 ++++ libstdc++-v3/src/c++98/compatibility-ldbl.cc 2019-02-19 16:12:52.402123217 +0100 +@@ -75,6 +75,6 @@ namespace std _GLIBCXX_VISIBILITY(defaul + // and std::hash::operator() + // are the same, no need to duplicate them. + extern "C" void _ZNKSt4hashIeEclEe (void) +- __attribute__((alias ("_ZNKSt3tr14hashIeEclEe"))); ++ _GLIBCXX_PURE __attribute__((alias ("_ZNKSt3tr14hashIeEclEe"))); + + #endif diff --git a/gcc9-s390x-bootstrap-fix.patch b/gcc9-s390x-bootstrap-fix.patch new file mode 100644 index 0000000..f010d99 --- /dev/null +++ b/gcc9-s390x-bootstrap-fix.patch @@ -0,0 +1,17 @@ +--- libgo/go/internal/cpu/cpu_gccgo.c.jj 2019-02-16 07:57:27.882179972 +0100 ++++ libgo/go/internal/cpu/cpu_gccgo.c 2019-02-16 08:36:37.241900882 +0100 +@@ -71,7 +71,7 @@ struct xgetbv_ret xgetbv(void) { + + #endif /* defined(__i386__) || defined(__x86_64__) */ + +-#ifdef __s390__ ++#ifdef __s390x__ + + struct facilityList { + uint64_t bits[4]; +@@ -184,4 +184,4 @@ struct queryResult klmdQuery() { + return ret; + } + +-#endif /* defined(__s390__) */ ++#endif /* defined(__s390x__) */ diff --git a/sources b/sources index e5cbf71..c51b1c7 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190209.tar.xz) = d61c5b50c6dc1b3185dfe66261885612cbb0fddb4a150ddca9015b100aaf0ec78c9efa7c31c8278e0201d713ab150168abd293fa4881630f03ec35827d0a23b6 +SHA512 (gcc-9.0.1-20190219.tar.xz) = 5c4b8f38bc87c19337cb4b7fdbc4910eefabc43f06f4224087f7b4879750722a0b508cd214f0ac880c23ed8f8deb803442cbbe1e7ea6f8f24c6a6365e8d0a1a7 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1