diff --git a/.gitignore b/.gitignore index fe94c82..1be4239 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ /gcc-4.9.1-20140912.tar.bz2 /gcc-4.9.1-20140922.tar.bz2 /gcc-4.9.1-20140930.tar.bz2 +/gcc-4.9.1-20141017.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 7ea3de4..65aae56 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20140930 -%global SVNREV 215732 +%global DATE 20141017 +%global SVNREV 216410 %global gcc_version 4.9.1 # 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 11 +%global gcc_release 12 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 %global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64 @@ -200,8 +200,6 @@ Patch15: gcc49-color-auto.patch Patch16: gcc49-libgo-p224.patch Patch17: gcc49-aarch64-async-unw-tables.patch Patch18: gcc49-aarch64-unwind-opt.patch -Patch19: gcc49-pr63285.patch -Patch20: gcc49-pr63186.patch Patch1100: cloog-%{cloog_version}-ppc64le-config.patch @@ -730,8 +728,6 @@ package or when debugging this package. rm -f libgo/go/crypto/elliptic/p224{,_test}.go %patch17 -p0 -b .aarch64-async-unw-tables~ %patch18 -p0 -b .aarch64-unwind-opt~ -%patch19 -p0 -b .pr63285~ -%patch20 -p0 -b .pr63186~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF @@ -2804,6 +2800,20 @@ fi %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Fri Oct 17 2014 Jakub Jelinek 4.9.1-12 +- update from the 4.9 branch + - PRs ada/63225, c++/63306, c++/63405, c++/63415, c++/63437, c++/63455, + c/63495, debug/63342, fortran/59488, ipa/61144, ipa/62121, + libgfortran/63460, libgomp/61200, libstdc++/57440, libstdc++/59603, + libstdc++/63199, libstdc++/63449, libstdc++/63456, lto/62026, + regression/61510, rtl-optimization/57003, rtl-optimization/63448, + sanitizer/61100, sanitizer/61530, sanitizer/61547, sanitizer/61897, + sanitizer/62089, sanitizer/62140, target/52941, target/63428, + tree-optimization/61969, tree-optimization/62031, + tree-optimization/63302, tree-optimization/63375, + tree-optimization/63379, tree-optimization/63380 + - initial -fsanitize=kernel-address support + * Tue Sep 30 2014 Jakub Jelinek 4.9.1-11 - update from the 4.9 branch - PRs c++/61465, c++/62219, c++/63249, inline-asm/63282, middle-end/63247, diff --git a/gcc49-pr63186.patch b/gcc49-pr63186.patch deleted file mode 100644 index ed3dcf9..0000000 --- a/gcc49-pr63186.patch +++ /dev/null @@ -1,129 +0,0 @@ -2014-09-10 Jan Hubicka - - PR tree-optimization/63186 - * ipa-split.c (test_nonssa_use): Skip nonforced labels. - (mark_nonssa_use): Likewise. - (verify_non_ssa_vars): Verify all header blocks for label - definitions. - - * gcc.dg/pr63186.c: New testcase. - ---- gcc/ipa-split.c (revision 215148) -+++ gcc/ipa-split.c (revision 215149) -@@ -167,7 +167,11 @@ test_nonssa_use (gimple, tree t, tree, v - || (TREE_CODE (t) == VAR_DECL - && auto_var_in_fn_p (t, current_function_decl)) - || TREE_CODE (t) == RESULT_DECL -- || TREE_CODE (t) == LABEL_DECL) -+ /* Normal labels are part of CFG and will be handled gratefuly. -+ Forced labels however can be used directly by statements and -+ need to stay in one partition along with their uses. */ -+ || (TREE_CODE (t) == LABEL_DECL -+ && FORCED_LABEL (t))) - return bitmap_bit_p ((bitmap)data, DECL_UID (t)); - - /* For DECL_BY_REFERENCE, the return value is actually a pointer. We want -@@ -213,6 +217,7 @@ verify_non_ssa_vars (struct split_point - edge e; - edge_iterator ei; - bool ok = true; -+ basic_block bb; - - FOR_EACH_EDGE (e, ei, current->entry_bb->preds) - if (e->src != ENTRY_BLOCK_PTR_FOR_FN (cfun) -@@ -225,8 +230,8 @@ verify_non_ssa_vars (struct split_point - while (!worklist.is_empty ()) - { - gimple_stmt_iterator bsi; -- basic_block bb = worklist.pop (); - -+ bb = worklist.pop (); - FOR_EACH_EDGE (e, ei, bb->preds) - if (e->src != ENTRY_BLOCK_PTR_FOR_FN (cfun) - && bitmap_set_bit (seen, e->src->index)) -@@ -250,10 +255,10 @@ verify_non_ssa_vars (struct split_point - if (gimple_code (stmt) == GIMPLE_LABEL - && test_nonssa_use (stmt, gimple_label_label (stmt), - NULL_TREE, non_ssa_vars)) -- { -- ok = false; -- goto done; -- } -+ { -+ ok = false; -+ goto done; -+ } - } - for (bsi = gsi_start_phis (bb); !gsi_end_p (bsi); gsi_next (&bsi)) - { -@@ -286,6 +291,27 @@ verify_non_ssa_vars (struct split_point - } - } - } -+ -+ /* Verify that the rest of function does not define any label -+ used by the split part. */ -+ FOR_EACH_BB_FN (bb, cfun) -+ if (!bitmap_bit_p (current->split_bbs, bb->index) -+ && !bitmap_bit_p (seen, bb->index)) -+ { -+ gimple_stmt_iterator bsi; -+ for (bsi = gsi_start_bb (bb); !gsi_end_p (bsi); gsi_next (&bsi)) -+ if (gimple_code (gsi_stmt (bsi)) == GIMPLE_LABEL -+ && test_nonssa_use (gsi_stmt (bsi), -+ gimple_label_label (gsi_stmt (bsi)), -+ NULL_TREE, non_ssa_vars)) -+ { -+ ok = false; -+ goto done; -+ } -+ else if (gimple_code (gsi_stmt (bsi)) != GIMPLE_LABEL) -+ break; -+ } -+ - done: - BITMAP_FREE (seen); - worklist.release (); -@@ -735,7 +761,8 @@ mark_nonssa_use (gimple, tree t, tree, v - if ((TREE_CODE (t) == VAR_DECL - && auto_var_in_fn_p (t, current_function_decl)) - || TREE_CODE (t) == RESULT_DECL -- || TREE_CODE (t) == LABEL_DECL) -+ || (TREE_CODE (t) == LABEL_DECL -+ && FORCED_LABEL (t))) - bitmap_set_bit ((bitmap)data, DECL_UID (t)); - - /* For DECL_BY_REFERENCE, the return value is actually a pointer. We want ---- gcc/testsuite/gcc.dg/pr63186.c (revision 0) -+++ gcc/testsuite/gcc.dg/pr63186.c (revision 215149) -@@ -0,0 +1,30 @@ -+/* { dg-do link } */ -+/* { dg-options "-O2" } */ -+void *a; -+int b, c, d; -+ -+void -+bar () -+{ -+ switch (c) -+ { -+ case 0: -+ lab: -+ __asm__ (""); -+ return; -+ default: -+ break; -+ } -+ b = 0; -+ d = 0; -+ a = &&lab; -+} -+ -+void -+foo () -+{ -+ bar (); -+} -+main() -+{ -+} diff --git a/gcc49-pr63285.patch b/gcc49-pr63285.patch deleted file mode 100644 index 2216047..0000000 --- a/gcc49-pr63285.patch +++ /dev/null @@ -1,50 +0,0 @@ -2014-09-18 Vladimir Makarov - - PR debug/63285 - * haifa-sched.c (schedule_block): Advance cycle at the end of BB - if advance != 0. - - * gcc.target/i386/pr63285.c: New test. - ---- gcc/haifa-sched.c (revision 215363) -+++ gcc/haifa-sched.c (revision 215364) -@@ -6473,7 +6473,7 @@ schedule_block (basic_block *target_bb, - if (ls.modulo_epilogue) - success = true; - end_schedule: -- if (!ls.first_cycle_insn_p) -+ if (!ls.first_cycle_insn_p || advance) - advance_one_cycle (); - perform_replacements_new_cycle (); - if (modulo_ii > 0) ---- gcc/testsuite/gcc.target/i386/pr63285.c (revision 0) -+++ gcc/testsuite/gcc.target/i386/pr63285.c (revision 215364) -@@ -0,0 +1,28 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O2 -fcompare-debug" } */ -+ -+struct S { int a; }; -+struct T { int b, c; } a; -+long b; -+int c, d; -+void bar (int, int); -+void baz (void *, int); -+ -+void -+foo (struct S *x, int y, int z, void *f, int *p, struct T *e) -+{ -+ while (x) -+ { -+ baz (f, &d > p); -+ if (z & 1) -+ bar (f > (void *) &f, z); -+ } -+ if (c) -+ { -+ asm ("" : "+m" (a) : "i" (0)); -+ y--; -+ } -+ if (e->b == e->c) -+ c = y; -+ y--; -+} diff --git a/sources b/sources index d059d61..924c2e6 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ e34fca0540d840e5d0f6427e98c92252 cloog-0.18.1.tar.gz -34bc914fdab7381cc4371b317880d1ed gcc-4.9.1-20140930.tar.bz2 +76853e1a202dcca99c418a40b2a9be76 gcc-4.9.1-20141017.tar.bz2 e039bfcfb6c2ab039b8ee69bf883e824 isl-0.12.2.tar.bz2