From b6b134028690d8f570edfbfbcda2f2cdc38750e7 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 15 Apr 2019 12:43:11 +0200 Subject: [PATCH 1/6] 9.0.1-0.13 --- .gitignore | 1 + gcc.spec | 42 +++++++++++++++++++++++++++++++++++++++--- sources | 2 +- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d7d179c..8a71160 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ /gcc-9.0.1-20190312.tar.xz /gcc-9.0.1-20190320.tar.xz /gcc-9.0.1-20190328.tar.xz +/gcc-9.0.1-20190415.tar.xz diff --git a/gcc.spec b/gcc.spec index 4fae9de..8b02282 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190328 -%global SVNREV 270000 +%global DATE 20190415 +%global SVNREV 270367 %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.12 +%global gcc_release 0.13 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -2957,6 +2957,42 @@ end %endif %changelog +* Mon Apr 15 2019 Jakub Jelinek 9.0.1-0.13 +- update from trunk + - PRs bootstrap/89980, c++/47488, c++/56643, c++/61327, c++/62207, + c++/65619, c++/66548, c++/81506, c++/81866, c++/86586, c++/86946, + c++/86986, c++/87145, c++/87603, c++/89331, c++/89612, c++/89744, + c++/89833, c++/89836, c++/89852, c++/89871, c++/89876, c++/89878, + c++/89914, c++/89917, c++/89948, c++/89966, c++/89973, c++/89974, + c++/90010, c/71598, c/88383, c/89288, c/89685, c/89797, c/89798, + c/89872, c/89933, c/89946, c/89985, d/87799, d/88150, d/88462, + d/89255, d/89823, debug/89892, debug/89905, driver/89861, + fortran/68567, fortran/79842, fortran/83515, fortran/85448, + fortran/85797, fortran/87352, fortran/89375, fortran/89841, + fortran/89842, fortran/89843, fortran/89846, fortran/89866, + fortran/89904, fortran/89981, fortran/90022, gcov-profile/89959, + gcov-profile/89961, ipa/88936, ipa/pr89693, libstdc++/85184, + libstdc++/87431, libstdc++/89851, libstdc++/89986, libstdc++/90008, + libstdc++/90046, lto/89358, lto/89896, middle-end/89621, + middle-end/89911, middle-end/89934, middle-end/89957, + middle-end/89970, middle-end/90025, other/89394, + rtl-optimization/46590, rtl-optimization/81025, + rtl-optimization/84206, rtl-optimization/85412, + rtl-optimization/85876, rtl-optimization/86928, + rtl-optimization/87273, rtl-optimization/87485, + rtl-optimization/89399, rtl-optimization/89862, + rtl-optimization/89865, rtl-optimization/89965, + rtl-optimization/90026, sanitizer/89869, sanitizer/89941, + target/83033, target/89623, target/89848, target/89865, target/89902, + target/89903, target/89945, target/90015, target/90016, target/90024, + testsuite/89907, testsuite/89916, translation/89912, + translation/89936, translation/89939, translation/90011, + translation/90035, translation/90041, tree-optimization/46590, + tree-optimization/84101, tree-optimization/89725, + tree-optimization/89730, tree-optimization/89956, + tree-optimization/89998, tree-optimization/90006, + tree-optimization/90018, tree-optimization/90020 + * Thu Mar 28 2019 Jakub Jelinek 9.0.1-0.12 - update from trunk - PRs ada/89583, bootstrap/89829, c++/60702, c++/78645, c++/82643, diff --git a/sources b/sources index 1ddf304..81b8162 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190328.tar.xz) = 5f1dc1f7434e2de40f2f0486db3c5818e168452c0d612d6b35164ab6a1e1b2a63e5e4a899af86c5fe15cde33fb750e768f3f723c4062a0d97fb909b039f30b39 +SHA512 (gcc-9.0.1-20190415.tar.xz) = 873029d6cc80d43d898a7c5eca30ddf64cceb6f155c5e087e892290590a7026df4fd32ca5d2e2c0f9b80b7fee8bb372f514d1f5e9845490a1ffcb9cc50649b92 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1 From 84af04ddb6af26cabda603e2dda3d64c0c0d7559 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 15 Apr 2019 20:12:21 +0200 Subject: [PATCH 2/6] 9.0.1-0.13 --- gcc.spec | 7 ++ gcc9-foffload-default.patch | 2 +- gcc9-pr89794.patch | 142 ++++++++++++++++++++++++++++++++++++ gcc9-pr90071.patch | 47 ++++++++++++ gcc9-pr90074.patch | 107 +++++++++++++++++++++++++++ 5 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 gcc9-pr89794.patch create mode 100644 gcc9-pr90071.patch create mode 100644 gcc9-pr90074.patch diff --git a/gcc.spec b/gcc.spec index 8b02282..093e6ef 100644 --- a/gcc.spec +++ b/gcc.spec @@ -255,6 +255,9 @@ Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch Patch12: gcc9-pr89093.patch +Patch13: gcc9-pr89794.patch +Patch14: gcc9-pr90071.patch +Patch15: gcc9-pr90074.patch Patch1000: nvptx-tools-no-ptxas.patch Patch1001: nvptx-tools-build.patch @@ -766,6 +769,9 @@ to NVidia PTX capable devices if available. %endif %patch11 -p0 -b .d-shared-libphobos~ %patch12 -p0 -b .pr89093~ +%patch13 -p0 -b .pr89794~ +%patch14 -p0 -b .pr90071~ +%patch15 -p0 -b .pr90074~ cd nvptx-tools-%{nvptx_tools_gitrev} %patch1000 -p1 -b .nvptx-tools-no-ptxas~ @@ -2992,6 +2998,7 @@ end tree-optimization/89730, tree-optimization/89956, tree-optimization/89998, tree-optimization/90006, tree-optimization/90018, tree-optimization/90020 +- PRs rtl-optimization/89794, tree-optimization/90071, debug/90074 * Thu Mar 28 2019 Jakub Jelinek 9.0.1-0.12 - update from trunk diff --git a/gcc9-foffload-default.patch b/gcc9-foffload-default.patch index 2ecd537..ac462f1 100644 --- a/gcc9-foffload-default.patch +++ b/gcc9-foffload-default.patch @@ -70,7 +70,7 @@ libgomp/ + if (!compiler) fatal_error (input_location, - "could not find %s in %s (consider using '-B')\n", suffix + 1, + "could not find %s in %s (consider using %<-B%>)\n", @@ -883,6 +890,7 @@ compile_images_for_offload_targets (unsi unsigned num_targets = parse_env_var (target_names, &names, NULL); diff --git a/gcc9-pr89794.patch b/gcc9-pr89794.patch new file mode 100644 index 0000000..d76f002 --- /dev/null +++ b/gcc9-pr89794.patch @@ -0,0 +1,142 @@ +2019-04-15 Segher Boessenkool + + PR rtl-optimization/89794 + * combine.c (count_auto_inc): New function. + (try_combine): Count how many auto_inc expressions there were in the + original instructions. Ensure we have the same number in the new + instructions. Remove the code that tried to ensure auto_inc side + effects on i1 and i0 are not lost. + + * gcc.dg/torture/pr89794.c: New testcase. + +--- gcc/combine.c (revision 270367) ++++ gcc/combine.c (revision 270368) +@@ -2641,6 +2641,16 @@ is_just_move (rtx x) + return (GET_CODE (x) == SET && general_operand (SET_SRC (x), VOIDmode)); + } + ++/* Callback function to count autoincs. */ ++ ++static int ++count_auto_inc (rtx, rtx, rtx, rtx, rtx, void *arg) ++{ ++ (*((int *) arg))++; ++ ++ return 0; ++} ++ + /* Try to combine the insns I0, I1 and I2 into I3. + Here I0, I1 and I2 appear earlier than I3. + I0 and I1 can be zero; then we combine just I2 into I3, or I1 and I2 into +@@ -2706,6 +2716,7 @@ try_combine (rtx_insn *i3, rtx_insn *i2, + int split_i2i3 = 0; + int changed_i3_dest = 0; + bool i2_was_move = false, i3_was_move = false; ++ int n_auto_inc = 0; + + int maxreg; + rtx_insn *temp_insn; +@@ -3210,6 +3221,16 @@ try_combine (rtx_insn *i3, rtx_insn *i2, + return 0; + } + ++ /* Count how many auto_inc expressions there were in the original insns; ++ we need to have the same number in the resulting patterns. */ ++ ++ if (i0) ++ for_each_inc_dec (PATTERN (i0), count_auto_inc, &n_auto_inc); ++ if (i1) ++ for_each_inc_dec (PATTERN (i1), count_auto_inc, &n_auto_inc); ++ for_each_inc_dec (PATTERN (i2), count_auto_inc, &n_auto_inc); ++ for_each_inc_dec (PATTERN (i3), count_auto_inc, &n_auto_inc); ++ + /* If the set in I2 needs to be kept around, we must make a copy of + PATTERN (I2), so that when we substitute I1SRC for I1DEST in + PATTERN (I2), we are only substituting for the original I1DEST, not into +@@ -3411,18 +3432,11 @@ try_combine (rtx_insn *i3, rtx_insn *i2, + + if (i1 && GET_CODE (newpat) != CLOBBER) + { +- /* Check that an autoincrement side-effect on I1 has not been lost. +- This happens if I1DEST is mentioned in I2 and dies there, and +- has disappeared from the new pattern. */ +- if ((FIND_REG_INC_NOTE (i1, NULL_RTX) != 0 +- && i1_feeds_i2_n +- && dead_or_set_p (i2, i1dest) +- && !reg_overlap_mentioned_p (i1dest, newpat)) +- /* Before we can do this substitution, we must redo the test done +- above (see detailed comments there) that ensures I1DEST isn't +- mentioned in any SETs in NEWPAT that are field assignments. */ +- || !combinable_i3pat (NULL, &newpat, i1dest, NULL_RTX, NULL_RTX, +- 0, 0, 0)) ++ /* Before we can do this substitution, we must redo the test done ++ above (see detailed comments there) that ensures I1DEST isn't ++ mentioned in any SETs in NEWPAT that are field assignments. */ ++ if (!combinable_i3pat (NULL, &newpat, i1dest, NULL_RTX, NULL_RTX, ++ 0, 0, 0)) + { + undo_all (); + return 0; +@@ -3452,12 +3466,8 @@ try_combine (rtx_insn *i3, rtx_insn *i2, + + if (i0 && GET_CODE (newpat) != CLOBBER) + { +- if ((FIND_REG_INC_NOTE (i0, NULL_RTX) != 0 +- && ((i0_feeds_i2_n && dead_or_set_p (i2, i0dest)) +- || (i0_feeds_i1_n && dead_or_set_p (i1, i0dest))) +- && !reg_overlap_mentioned_p (i0dest, newpat)) +- || !combinable_i3pat (NULL, &newpat, i0dest, NULL_RTX, NULL_RTX, +- 0, 0, 0)) ++ if (!combinable_i3pat (NULL, &newpat, i0dest, NULL_RTX, NULL_RTX, ++ 0, 0, 0)) + { + undo_all (); + return 0; +@@ -3478,6 +3488,20 @@ try_combine (rtx_insn *i3, rtx_insn *i2, + substed_i0 = 1; + } + ++ if (n_auto_inc) ++ { ++ int new_n_auto_inc = 0; ++ for_each_inc_dec (newpat, count_auto_inc, &new_n_auto_inc); ++ ++ if (n_auto_inc != new_n_auto_inc) ++ { ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ fprintf (dump_file, "Number of auto_inc expressions changed\n"); ++ undo_all (); ++ return 0; ++ } ++ } ++ + /* Fail if an autoincrement side-effect has been duplicated. Be careful + to count all the ways that I2SRC and I1SRC can be used. */ + if ((FIND_REG_INC_NOTE (i2, NULL_RTX) != 0 +--- gcc/testsuite/gcc.dg/torture/pr89794.c (nonexistent) ++++ gcc/testsuite/gcc.dg/torture/pr89794.c (revision 270368) +@@ -0,0 +1,24 @@ ++/* { dg-do run } */ ++ ++typedef unsigned short u16; ++typedef unsigned int u32; ++typedef unsigned long long u64; ++ ++u32 a, b, c, d; ++ ++u32 foo (u32 f, u32 g, u32 g2, u32 g3, u16 h, u16 i) ++{ ++ (void)g, (void)g2, (void)g3, (void)h; ++ d = __builtin_bswap64 (i); ++ __builtin_sub_overflow (0, d, &b); ++ __builtin_memset (&i, c, 2); ++ a = 0; ++ return b + f + i + c; ++} ++ ++int main (void) ++{ ++ u32 x = foo (0, 0, 0, 0, 0, 0); ++ asm ("" :: "r" (x)); ++ return 0; ++} diff --git a/gcc9-pr90071.patch b/gcc9-pr90071.patch new file mode 100644 index 0000000..66dcb3a --- /dev/null +++ b/gcc9-pr90071.patch @@ -0,0 +1,47 @@ +2019-04-15 Richard Biener + + PR tree-optimization/90071 + * tree-ssa-reassoc.c (init_range_entry): Do not pick up + abnormal operands from def stmts. + + * gcc.dg/torture/pr90071.c: New testcase. + +--- gcc/tree-ssa-reassoc.c (revision 270368) ++++ gcc/tree-ssa-reassoc.c (revision 270369) +@@ -2143,7 +2143,8 @@ init_range_entry (struct range_entry *r, + exp_type = boolean_type_node; + } + +- if (TREE_CODE (arg0) != SSA_NAME) ++ if (TREE_CODE (arg0) != SSA_NAME ++ || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (arg0)) + break; + loc = gimple_location (stmt); + switch (code) +--- gcc/testsuite/gcc.dg/torture/pr90071.c (nonexistent) ++++ gcc/testsuite/gcc.dg/torture/pr90071.c (revision 270369) +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++ ++int a; ++static int b; ++ ++void ++foo () ++{ ++ int d; ++ int e = (int) (__INTPTR_TYPE__) &&f; ++ void *g = &&h; ++h: ++e; ++ if (a) ++ i: goto *g; ++ for (;;) ++ { ++ e = 0; ++ if (b) ++ goto i; ++ } ++f: ++ goto *({ d || e < 0 || e >= 2; }); ++ &e; ++} diff --git a/gcc9-pr90074.patch b/gcc9-pr90074.patch new file mode 100644 index 0000000..b57aac2 --- /dev/null +++ b/gcc9-pr90074.patch @@ -0,0 +1,107 @@ +2019-04-15 Richard Biener + + PR debug/90074 + * tree-loop-distribution.c (destroy_loop): Preserve correct + debug info. + + * gcc.dg/guality/pr90074.c: New testcase. + +--- gcc/tree-loop-distribution.c (revision 270369) ++++ gcc/tree-loop-distribution.c (revision 270370) +@@ -1094,12 +1094,8 @@ destroy_loop (struct loop *loop) + + bbs = get_loop_body_in_dom_order (loop); + +- redirect_edge_pred (exit, src); +- exit->flags &= ~(EDGE_TRUE_VALUE|EDGE_FALSE_VALUE); +- exit->flags |= EDGE_FALLTHRU; +- cancel_loop_tree (loop); +- rescan_loop_exit (exit, false, true); +- ++ gimple_stmt_iterator dst_gsi = gsi_after_labels (exit->dest); ++ bool safe_p = single_pred_p (exit->dest); + i = nbbs; + do + { +@@ -1116,14 +1112,45 @@ destroy_loop (struct loop *loop) + if (virtual_operand_p (gimple_phi_result (phi))) + mark_virtual_phi_result_for_renaming (phi); + } +- for (gimple_stmt_iterator gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi); +- gsi_next (&gsi)) ++ for (gimple_stmt_iterator gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi);) + { + gimple *stmt = gsi_stmt (gsi); + tree vdef = gimple_vdef (stmt); + if (vdef && TREE_CODE (vdef) == SSA_NAME) + mark_virtual_operand_for_renaming (vdef); ++ /* Also move and eventually reset debug stmts. We can leave ++ constant values in place in case the stmt dominates the exit. ++ ??? Non-constant values from the last iteration can be ++ replaced with final values if we can compute them. */ ++ if (gimple_debug_bind_p (stmt)) ++ { ++ tree val = gimple_debug_bind_get_value (stmt); ++ gsi_move_before (&gsi, &dst_gsi); ++ if (val ++ && (!safe_p ++ || !is_gimple_min_invariant (val) ++ || !dominated_by_p (CDI_DOMINATORS, exit->src, bbs[i]))) ++ { ++ gimple_debug_bind_reset_value (stmt); ++ update_stmt (stmt); ++ } ++ } ++ else ++ gsi_next (&gsi); + } ++ } ++ while (i != 0); ++ ++ redirect_edge_pred (exit, src); ++ exit->flags &= ~(EDGE_TRUE_VALUE|EDGE_FALSE_VALUE); ++ exit->flags |= EDGE_FALLTHRU; ++ cancel_loop_tree (loop); ++ rescan_loop_exit (exit, false, true); ++ ++ i = nbbs; ++ do ++ { ++ --i; + delete_basic_block (bbs[i]); + } + while (i != 0); +--- gcc/testsuite/gcc.dg/guality/pr90074.c (nonexistent) ++++ gcc/testsuite/gcc.dg/guality/pr90074.c (revision 270370) +@@ -0,0 +1,31 @@ ++/* { dg-do run } */ ++/* { dg-options "-g" } */ ++ ++void __attribute__((noinline)) ++optimize_me_not () ++{ ++ __asm__ volatile ("" : : : "memory"); ++} ++char a; ++short b[7][1]; ++int main() ++{ ++ int i, c; ++ a = 0; ++ i = 0; ++ for (; i < 7; i++) { ++ c = 0; ++ for (; c < 1; c++) ++ b[i][c] = 0; ++ } ++ /* i may very well be optimized out, so we cannot test for i == 7. ++ Instead test i + 1 which will make the test UNSUPPORTED if i ++ is optimized out. Since the test previously had wrong debug ++ with i == 0 this is acceptable. Optimally we'd produce a ++ debug stmt for the final value of the loop during loop distribution ++ which would fix the UNSUPPORTED cases. ++ c is optimized out at -Og for no obvious reason. */ ++ optimize_me_not(); /* { dg-final { gdb-test . "i + 1" "8" } } */ ++ /* { dg-final { gdb-test .-1 "c + 1" "2" } } */ ++ return 0; ++} From a3fcce8f5b0629a38169054ad38c881f049ff6b5 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 18 Apr 2019 13:23:34 +0200 Subject: [PATCH 3/6] 9.0.1-0.14 --- .gitignore | 1 + gcc.spec | 24 ++++---- gcc9-pr89794.patch | 142 --------------------------------------------- gcc9-pr90071.patch | 47 --------------- gcc9-pr90074.patch | 107 ---------------------------------- sources | 2 +- 6 files changed, 16 insertions(+), 307 deletions(-) delete mode 100644 gcc9-pr89794.patch delete mode 100644 gcc9-pr90071.patch delete mode 100644 gcc9-pr90074.patch diff --git a/.gitignore b/.gitignore index 8a71160..8779c8f 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ /gcc-9.0.1-20190320.tar.xz /gcc-9.0.1-20190328.tar.xz /gcc-9.0.1-20190415.tar.xz +/gcc-9.0.1-20190418.tar.xz diff --git a/gcc.spec b/gcc.spec index 093e6ef..1dbd3e5 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190415 -%global SVNREV 270367 +%global DATE 20190418 +%global SVNREV 270440 %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.13 +%global gcc_release 0.14 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -151,7 +151,7 @@ BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, sharutils BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man BuildRequires: systemtap-sdt-devel >= 1.3 BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1 -BuildRequires: python2-devel, python3-devel +BuildRequires: python2-devel, python3-devel, /usr/bin/python BuildRequires: gcc, gcc-c++ %if %{build_go} BuildRequires: hostname, procps @@ -255,9 +255,6 @@ Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch Patch12: gcc9-pr89093.patch -Patch13: gcc9-pr89794.patch -Patch14: gcc9-pr90071.patch -Patch15: gcc9-pr90074.patch Patch1000: nvptx-tools-no-ptxas.patch Patch1001: nvptx-tools-build.patch @@ -769,9 +766,6 @@ to NVidia PTX capable devices if available. %endif %patch11 -p0 -b .d-shared-libphobos~ %patch12 -p0 -b .pr89093~ -%patch13 -p0 -b .pr89794~ -%patch14 -p0 -b .pr90071~ -%patch15 -p0 -b .pr90074~ cd nvptx-tools-%{nvptx_tools_gitrev} %patch1000 -p1 -b .nvptx-tools-no-ptxas~ @@ -2963,6 +2957,16 @@ end %endif %changelog +* Thu Apr 18 2019 Jakub Jelinek 9.0.1-0.14 +- update from trunk + - PRs bootstrap/89864, c++/86953, c++/89325, c++/90047, c++/90124, + debug/89528, fortran/90048, fortran/90067, fortran/90114, + libstdc++/90105, middle-end/90095, rtl-optimization/86438, + rtl-optimization/90082, target/17108, target/84369, target/90096, + target/90125, translation/79183, tree-optimization/56049, + tree-optimization/90090 +- buildrequire /usr/bin/python for better dg-extract-results.sh + * Mon Apr 15 2019 Jakub Jelinek 9.0.1-0.13 - update from trunk - PRs bootstrap/89980, c++/47488, c++/56643, c++/61327, c++/62207, diff --git a/gcc9-pr89794.patch b/gcc9-pr89794.patch deleted file mode 100644 index d76f002..0000000 --- a/gcc9-pr89794.patch +++ /dev/null @@ -1,142 +0,0 @@ -2019-04-15 Segher Boessenkool - - PR rtl-optimization/89794 - * combine.c (count_auto_inc): New function. - (try_combine): Count how many auto_inc expressions there were in the - original instructions. Ensure we have the same number in the new - instructions. Remove the code that tried to ensure auto_inc side - effects on i1 and i0 are not lost. - - * gcc.dg/torture/pr89794.c: New testcase. - ---- gcc/combine.c (revision 270367) -+++ gcc/combine.c (revision 270368) -@@ -2641,6 +2641,16 @@ is_just_move (rtx x) - return (GET_CODE (x) == SET && general_operand (SET_SRC (x), VOIDmode)); - } - -+/* Callback function to count autoincs. */ -+ -+static int -+count_auto_inc (rtx, rtx, rtx, rtx, rtx, void *arg) -+{ -+ (*((int *) arg))++; -+ -+ return 0; -+} -+ - /* Try to combine the insns I0, I1 and I2 into I3. - Here I0, I1 and I2 appear earlier than I3. - I0 and I1 can be zero; then we combine just I2 into I3, or I1 and I2 into -@@ -2706,6 +2716,7 @@ try_combine (rtx_insn *i3, rtx_insn *i2, - int split_i2i3 = 0; - int changed_i3_dest = 0; - bool i2_was_move = false, i3_was_move = false; -+ int n_auto_inc = 0; - - int maxreg; - rtx_insn *temp_insn; -@@ -3210,6 +3221,16 @@ try_combine (rtx_insn *i3, rtx_insn *i2, - return 0; - } - -+ /* Count how many auto_inc expressions there were in the original insns; -+ we need to have the same number in the resulting patterns. */ -+ -+ if (i0) -+ for_each_inc_dec (PATTERN (i0), count_auto_inc, &n_auto_inc); -+ if (i1) -+ for_each_inc_dec (PATTERN (i1), count_auto_inc, &n_auto_inc); -+ for_each_inc_dec (PATTERN (i2), count_auto_inc, &n_auto_inc); -+ for_each_inc_dec (PATTERN (i3), count_auto_inc, &n_auto_inc); -+ - /* If the set in I2 needs to be kept around, we must make a copy of - PATTERN (I2), so that when we substitute I1SRC for I1DEST in - PATTERN (I2), we are only substituting for the original I1DEST, not into -@@ -3411,18 +3432,11 @@ try_combine (rtx_insn *i3, rtx_insn *i2, - - if (i1 && GET_CODE (newpat) != CLOBBER) - { -- /* Check that an autoincrement side-effect on I1 has not been lost. -- This happens if I1DEST is mentioned in I2 and dies there, and -- has disappeared from the new pattern. */ -- if ((FIND_REG_INC_NOTE (i1, NULL_RTX) != 0 -- && i1_feeds_i2_n -- && dead_or_set_p (i2, i1dest) -- && !reg_overlap_mentioned_p (i1dest, newpat)) -- /* Before we can do this substitution, we must redo the test done -- above (see detailed comments there) that ensures I1DEST isn't -- mentioned in any SETs in NEWPAT that are field assignments. */ -- || !combinable_i3pat (NULL, &newpat, i1dest, NULL_RTX, NULL_RTX, -- 0, 0, 0)) -+ /* Before we can do this substitution, we must redo the test done -+ above (see detailed comments there) that ensures I1DEST isn't -+ mentioned in any SETs in NEWPAT that are field assignments. */ -+ if (!combinable_i3pat (NULL, &newpat, i1dest, NULL_RTX, NULL_RTX, -+ 0, 0, 0)) - { - undo_all (); - return 0; -@@ -3452,12 +3466,8 @@ try_combine (rtx_insn *i3, rtx_insn *i2, - - if (i0 && GET_CODE (newpat) != CLOBBER) - { -- if ((FIND_REG_INC_NOTE (i0, NULL_RTX) != 0 -- && ((i0_feeds_i2_n && dead_or_set_p (i2, i0dest)) -- || (i0_feeds_i1_n && dead_or_set_p (i1, i0dest))) -- && !reg_overlap_mentioned_p (i0dest, newpat)) -- || !combinable_i3pat (NULL, &newpat, i0dest, NULL_RTX, NULL_RTX, -- 0, 0, 0)) -+ if (!combinable_i3pat (NULL, &newpat, i0dest, NULL_RTX, NULL_RTX, -+ 0, 0, 0)) - { - undo_all (); - return 0; -@@ -3478,6 +3488,20 @@ try_combine (rtx_insn *i3, rtx_insn *i2, - substed_i0 = 1; - } - -+ if (n_auto_inc) -+ { -+ int new_n_auto_inc = 0; -+ for_each_inc_dec (newpat, count_auto_inc, &new_n_auto_inc); -+ -+ if (n_auto_inc != new_n_auto_inc) -+ { -+ if (dump_file && (dump_flags & TDF_DETAILS)) -+ fprintf (dump_file, "Number of auto_inc expressions changed\n"); -+ undo_all (); -+ return 0; -+ } -+ } -+ - /* Fail if an autoincrement side-effect has been duplicated. Be careful - to count all the ways that I2SRC and I1SRC can be used. */ - if ((FIND_REG_INC_NOTE (i2, NULL_RTX) != 0 ---- gcc/testsuite/gcc.dg/torture/pr89794.c (nonexistent) -+++ gcc/testsuite/gcc.dg/torture/pr89794.c (revision 270368) -@@ -0,0 +1,24 @@ -+/* { dg-do run } */ -+ -+typedef unsigned short u16; -+typedef unsigned int u32; -+typedef unsigned long long u64; -+ -+u32 a, b, c, d; -+ -+u32 foo (u32 f, u32 g, u32 g2, u32 g3, u16 h, u16 i) -+{ -+ (void)g, (void)g2, (void)g3, (void)h; -+ d = __builtin_bswap64 (i); -+ __builtin_sub_overflow (0, d, &b); -+ __builtin_memset (&i, c, 2); -+ a = 0; -+ return b + f + i + c; -+} -+ -+int main (void) -+{ -+ u32 x = foo (0, 0, 0, 0, 0, 0); -+ asm ("" :: "r" (x)); -+ return 0; -+} diff --git a/gcc9-pr90071.patch b/gcc9-pr90071.patch deleted file mode 100644 index 66dcb3a..0000000 --- a/gcc9-pr90071.patch +++ /dev/null @@ -1,47 +0,0 @@ -2019-04-15 Richard Biener - - PR tree-optimization/90071 - * tree-ssa-reassoc.c (init_range_entry): Do not pick up - abnormal operands from def stmts. - - * gcc.dg/torture/pr90071.c: New testcase. - ---- gcc/tree-ssa-reassoc.c (revision 270368) -+++ gcc/tree-ssa-reassoc.c (revision 270369) -@@ -2143,7 +2143,8 @@ init_range_entry (struct range_entry *r, - exp_type = boolean_type_node; - } - -- if (TREE_CODE (arg0) != SSA_NAME) -+ if (TREE_CODE (arg0) != SSA_NAME -+ || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (arg0)) - break; - loc = gimple_location (stmt); - switch (code) ---- gcc/testsuite/gcc.dg/torture/pr90071.c (nonexistent) -+++ gcc/testsuite/gcc.dg/torture/pr90071.c (revision 270369) -@@ -0,0 +1,24 @@ -+/* { dg-do compile } */ -+ -+int a; -+static int b; -+ -+void -+foo () -+{ -+ int d; -+ int e = (int) (__INTPTR_TYPE__) &&f; -+ void *g = &&h; -+h: ++e; -+ if (a) -+ i: goto *g; -+ for (;;) -+ { -+ e = 0; -+ if (b) -+ goto i; -+ } -+f: -+ goto *({ d || e < 0 || e >= 2; }); -+ &e; -+} diff --git a/gcc9-pr90074.patch b/gcc9-pr90074.patch deleted file mode 100644 index b57aac2..0000000 --- a/gcc9-pr90074.patch +++ /dev/null @@ -1,107 +0,0 @@ -2019-04-15 Richard Biener - - PR debug/90074 - * tree-loop-distribution.c (destroy_loop): Preserve correct - debug info. - - * gcc.dg/guality/pr90074.c: New testcase. - ---- gcc/tree-loop-distribution.c (revision 270369) -+++ gcc/tree-loop-distribution.c (revision 270370) -@@ -1094,12 +1094,8 @@ destroy_loop (struct loop *loop) - - bbs = get_loop_body_in_dom_order (loop); - -- redirect_edge_pred (exit, src); -- exit->flags &= ~(EDGE_TRUE_VALUE|EDGE_FALSE_VALUE); -- exit->flags |= EDGE_FALLTHRU; -- cancel_loop_tree (loop); -- rescan_loop_exit (exit, false, true); -- -+ gimple_stmt_iterator dst_gsi = gsi_after_labels (exit->dest); -+ bool safe_p = single_pred_p (exit->dest); - i = nbbs; - do - { -@@ -1116,14 +1112,45 @@ destroy_loop (struct loop *loop) - if (virtual_operand_p (gimple_phi_result (phi))) - mark_virtual_phi_result_for_renaming (phi); - } -- for (gimple_stmt_iterator gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi); -- gsi_next (&gsi)) -+ for (gimple_stmt_iterator gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi);) - { - gimple *stmt = gsi_stmt (gsi); - tree vdef = gimple_vdef (stmt); - if (vdef && TREE_CODE (vdef) == SSA_NAME) - mark_virtual_operand_for_renaming (vdef); -+ /* Also move and eventually reset debug stmts. We can leave -+ constant values in place in case the stmt dominates the exit. -+ ??? Non-constant values from the last iteration can be -+ replaced with final values if we can compute them. */ -+ if (gimple_debug_bind_p (stmt)) -+ { -+ tree val = gimple_debug_bind_get_value (stmt); -+ gsi_move_before (&gsi, &dst_gsi); -+ if (val -+ && (!safe_p -+ || !is_gimple_min_invariant (val) -+ || !dominated_by_p (CDI_DOMINATORS, exit->src, bbs[i]))) -+ { -+ gimple_debug_bind_reset_value (stmt); -+ update_stmt (stmt); -+ } -+ } -+ else -+ gsi_next (&gsi); - } -+ } -+ while (i != 0); -+ -+ redirect_edge_pred (exit, src); -+ exit->flags &= ~(EDGE_TRUE_VALUE|EDGE_FALSE_VALUE); -+ exit->flags |= EDGE_FALLTHRU; -+ cancel_loop_tree (loop); -+ rescan_loop_exit (exit, false, true); -+ -+ i = nbbs; -+ do -+ { -+ --i; - delete_basic_block (bbs[i]); - } - while (i != 0); ---- gcc/testsuite/gcc.dg/guality/pr90074.c (nonexistent) -+++ gcc/testsuite/gcc.dg/guality/pr90074.c (revision 270370) -@@ -0,0 +1,31 @@ -+/* { dg-do run } */ -+/* { dg-options "-g" } */ -+ -+void __attribute__((noinline)) -+optimize_me_not () -+{ -+ __asm__ volatile ("" : : : "memory"); -+} -+char a; -+short b[7][1]; -+int main() -+{ -+ int i, c; -+ a = 0; -+ i = 0; -+ for (; i < 7; i++) { -+ c = 0; -+ for (; c < 1; c++) -+ b[i][c] = 0; -+ } -+ /* i may very well be optimized out, so we cannot test for i == 7. -+ Instead test i + 1 which will make the test UNSUPPORTED if i -+ is optimized out. Since the test previously had wrong debug -+ with i == 0 this is acceptable. Optimally we'd produce a -+ debug stmt for the final value of the loop during loop distribution -+ which would fix the UNSUPPORTED cases. -+ c is optimized out at -Og for no obvious reason. */ -+ optimize_me_not(); /* { dg-final { gdb-test . "i + 1" "8" } } */ -+ /* { dg-final { gdb-test .-1 "c + 1" "2" } } */ -+ return 0; -+} diff --git a/sources b/sources index 81b8162..49e85b1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190415.tar.xz) = 873029d6cc80d43d898a7c5eca30ddf64cceb6f155c5e087e892290590a7026df4fd32ca5d2e2c0f9b80b7fee8bb372f514d1f5e9845490a1ffcb9cc50649b92 +SHA512 (gcc-9.0.1-20190418.tar.xz) = 7fd8b5a1d184632ae42dad7cf71d280061e96c106f23b1697823f0d6c2f8023f7e4351059d7d8faae5f6303a91cf2af760d8cd3d507c575f32a0256268c125ab SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1 From fd99b9378d12c0595dc893928e78813589547bfd Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 26 Apr 2019 20:22:41 +0200 Subject: [PATCH 4/6] 9.0.1-0.15 --- .gitignore | 1 + gcc.spec | 24 +++++++-- gcc9-pr89093.patch | 118 --------------------------------------------- sources | 2 +- 4 files changed, 21 insertions(+), 124 deletions(-) delete mode 100644 gcc9-pr89093.patch diff --git a/.gitignore b/.gitignore index 8779c8f..9bc2bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ /gcc-9.0.1-20190328.tar.xz /gcc-9.0.1-20190415.tar.xz /gcc-9.0.1-20190418.tar.xz +/gcc-9.0.1-20190426.tar.xz diff --git a/gcc.spec b/gcc.spec index 1dbd3e5..417fdba 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190418 -%global SVNREV 270440 +%global DATE 20190426 +%global SVNREV 270616 %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.14 +%global gcc_release 0.15 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -254,7 +254,6 @@ Patch8: gcc9-foffload-default.patch Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch -Patch12: gcc9-pr89093.patch Patch1000: nvptx-tools-no-ptxas.patch Patch1001: nvptx-tools-build.patch @@ -765,7 +764,6 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ -%patch12 -p0 -b .pr89093~ cd nvptx-tools-%{nvptx_tools_gitrev} %patch1000 -p1 -b .nvptx-tools-no-ptxas~ @@ -2957,6 +2955,22 @@ end %endif %changelog +* Fri Apr 26 2019 Jakub Jelinek 9.0.1-0.14 +- update from trunk and 9 branch + - gcc 9.1-rc1 + - PRs c++/87366, c++/87554, c++/89900, c++/90108, c++/90138, c++/90171, + c++/90190, c++/90227, c++/90236, c/89888, d/88431, d/88654, d/89293, + d/89432, d/90086, d/90250, debug/90131, fortran/57284, fortran/90166, + ipa/85051, libstdc++/90165, libstdc++/90220, libstdc++/90239, + middle-end/85164, middle-end/89765, middle-end/89797, + middle-end/90139, middle-end/90194, middle-end/90213, other/90257, + rtl-optimization/84032, rtl-optimization/87871, + rtl-optimization/87979, target/89929, target/89952, target/90187, + target/90193, translation/90118, tree-optimization/88055, + tree-optimization/90021, tree-optimization/90037, + tree-optimization/90078, tree-optimization/90208, + tree-optimization/90211, tree-optimization/90240 + * Thu Apr 18 2019 Jakub Jelinek 9.0.1-0.14 - update from trunk - PRs bootstrap/89864, c++/86953, c++/89325, c++/90047, c++/90124, diff --git a/gcc9-pr89093.patch b/gcc9-pr89093.patch deleted file mode 100644 index 4ec2c06..0000000 --- a/gcc9-pr89093.patch +++ /dev/null @@ -1,118 +0,0 @@ -2019-01-29 Ramana Radhakrishnan - - PR target/89093 - * config/arm/arm-cpus.in: Add -mfpu=none support. - * config/arm/arm-tables.opt: Likewise. - * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove - error for no FPU. - - * config/arm/pr-support.c: Add #pragma GCC target ("fpu=none"). - * config/arm/unwind-arm.c: Likewise. - * unwind-c.c: Likewise, #ifdef __arm__ only. - - * libsupc++/eh_personality.cc: Add #pragma GCC target ("fpu=none") - for __arm__. - ---- gcc/config/arm/arm-cpus.in -+++ gcc/config/arm/arm-cpus.in -@@ -128,6 +128,7 @@ define feature cmse - - # Floating point and Neon extensions. - # VFPv1 is not supported in GCC. -+define feature nofp - - # Vector floating point v2. - define feature vfpv2 -@@ -258,6 +259,7 @@ define fgroup ARMv8m_main ARMv7m armv8 cmse - define fgroup ARMv8r ARMv8a - - # Useful combinations. -+define fgroup NONE nofp - define fgroup VFPv2 vfpv2 - define fgroup VFPv3 VFPv2 vfpv3 - define fgroup VFPv4 VFPv3 vfpv4 fp16conv -@@ -1394,6 +1396,9 @@ end cpu cortex-r52 - # begin fpu - # isa - # end fpu -+begin fpu none -+isa NONE FP_DBL -+end fpu none - - begin fpu vfp - isa VFPv2 FP_DBL ---- gcc/config/arm/arm-tables.opt -+++ gcc/config/arm/arm-tables.opt -@@ -353,6 +353,9 @@ Enum - Name(arm_fpu) Type(enum fpu_type) - Known ARM FPUs (for use with the -mfpu= option): - -+EnumValue -+Enum(arm_fpu) String(none) Value(TARGET_FPU_none) -+ - EnumValue - Enum(arm_fpu) String(vfp) Value(TARGET_FPU_vfp) - ---- gcc/config/arm/arm.c -+++ gcc/config/arm/arm.c -@@ -3761,11 +3761,7 @@ arm_options_perform_arch_sanity_checks ( - if (arm_abi == ARM_ABI_IWMMXT) - arm_pcs_default = ARM_PCS_AAPCS_IWMMXT; - else if (TARGET_HARD_FLOAT_ABI) -- { -- arm_pcs_default = ARM_PCS_AAPCS_VFP; -- if (!bitmap_bit_p (arm_active_target.isa, isa_bit_vfpv2)) -- error ("%<-mfloat-abi=hard%>: selected processor lacks an FPU"); -- } -+ arm_pcs_default = ARM_PCS_AAPCS_VFP; - else - arm_pcs_default = ARM_PCS_AAPCS; - } ---- libgcc/config/arm/pr-support.c -+++ libgcc/config/arm/pr-support.c -@@ -21,6 +21,8 @@ - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -+#pragma GCC target ("fpu=none") -+ - #include "unwind.h" - - /* We add a prototype for abort here to avoid creating a dependency on ---- libgcc/config/arm/unwind-arm.c -+++ libgcc/config/arm/unwind-arm.c -@@ -21,6 +21,8 @@ - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -+#pragma GCC target ("fpu=none") -+ - #include "unwind.h" - - /* Misc constants. */ ---- libgcc/unwind-c.c -+++ libgcc/unwind-c.c -@@ -24,6 +24,10 @@ a copy of the GCC Runtime Library Except - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -+#ifdef __arm__ -+#pragma GCC target ("fpu=none") -+#endif -+ - #include "tconfig.h" - #include "tsystem.h" - #include "auto-target.h" ---- libstdc++-v3/libsupc++/eh_personality.cc -+++ libstdc++-v3/libsupc++/eh_personality.cc -@@ -22,6 +22,10 @@ - // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - // . - -+#ifdef __arm__ -+#pragma GCC target ("fpu=none") -+#endif -+ - #include - #include - #include diff --git a/sources b/sources index 49e85b1..5b33e51 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190418.tar.xz) = 7fd8b5a1d184632ae42dad7cf71d280061e96c106f23b1697823f0d6c2f8023f7e4351059d7d8faae5f6303a91cf2af760d8cd3d507c575f32a0256268c125ab +SHA512 (gcc-9.0.1-20190426.tar.xz) = a1680dba81d9779b3579ebde62f0887a0a6dbffd23ca758ab3013543057d5cc50e415974aa063eccfee473159572e3c317f8a586feafbaf19ee4a187015bed71 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1 From b2a5d6a477984e85b3c34357f9f036ae4e84e801 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 26 Apr 2019 20:23:00 +0200 Subject: [PATCH 5/6] 9.0.1-0.15 --- gcc.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc.spec b/gcc.spec index 417fdba..b59cefe 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2955,7 +2955,7 @@ end %endif %changelog -* Fri Apr 26 2019 Jakub Jelinek 9.0.1-0.14 +* Fri Apr 26 2019 Jakub Jelinek 9.0.1-0.15 - update from trunk and 9 branch - gcc 9.1-rc1 - PRs c++/87366, c++/87554, c++/89900, c++/90108, c++/90138, c++/90171, From f2dc6d80c8786f2f460671c50b3e6e5367f3b5ee Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 30 Apr 2019 16:52:43 +0200 Subject: [PATCH 6/6] 9.0.1-0.16 --- .gitignore | 1 + gcc.spec | 15 +++++++++++---- sources | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 9bc2bf3..21519f5 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,4 @@ /gcc-9.0.1-20190415.tar.xz /gcc-9.0.1-20190418.tar.xz /gcc-9.0.1-20190426.tar.xz +/gcc-9.0.1-20190430.tar.xz diff --git a/gcc.spec b/gcc.spec index b59cefe..4e50fd5 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190426 -%global SVNREV 270616 +%global DATE 20190430 +%global SVNREV 270701 %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.15 +%global gcc_release 0.16 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -33,7 +33,7 @@ %else %global build_go 0 %endif -%ifarch %{ix86} x86_64 %{arm} %{mips} +%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64 %global build_d 1 %else %global build_d 0 @@ -2955,6 +2955,13 @@ end %endif %changelog +* Tue Apr 30 2019 Jakub Jelinek 9.0.1-0.16 +- update from 9 branch + - gcc 9.1-rc2 + - PRs middle-end/90258, target/86538, translation/90274, + tree-optimization/90273 +- enable D on s390{,x} and riscv64 + * Fri Apr 26 2019 Jakub Jelinek 9.0.1-0.15 - update from trunk and 9 branch - gcc 9.1-rc1 diff --git a/sources b/sources index 5b33e51..2ba8128 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190426.tar.xz) = a1680dba81d9779b3579ebde62f0887a0a6dbffd23ca758ab3013543057d5cc50e415974aa063eccfee473159572e3c317f8a586feafbaf19ee4a187015bed71 +SHA512 (gcc-9.0.1-20190430.tar.xz) = c1b6cfa8be2478aa6df3d7be247fcd5098f8d402e4c70ff65c6a439533dc327fd3249a48b357dd9e242afd67a1b4ea60b71baa709802716952a22677320fae9f SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1