4.9.1-12
This commit is contained in:
parent
a593d741ef
commit
4fa57fa088
1
.gitignore
vendored
1
.gitignore
vendored
@ -24,3 +24,4 @@
|
|||||||
/gcc-4.9.1-20140912.tar.bz2
|
/gcc-4.9.1-20140912.tar.bz2
|
||||||
/gcc-4.9.1-20140922.tar.bz2
|
/gcc-4.9.1-20140922.tar.bz2
|
||||||
/gcc-4.9.1-20140930.tar.bz2
|
/gcc-4.9.1-20140930.tar.bz2
|
||||||
|
/gcc-4.9.1-20141017.tar.bz2
|
||||||
|
24
gcc.spec
24
gcc.spec
@ -1,9 +1,9 @@
|
|||||||
%global DATE 20140930
|
%global DATE 20141017
|
||||||
%global SVNREV 215732
|
%global SVNREV 216410
|
||||||
%global gcc_version 4.9.1
|
%global gcc_version 4.9.1
|
||||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||||
# %{release}, append them after %{gcc_release} on Release: line.
|
# %{release}, append them after %{gcc_release} on Release: line.
|
||||||
%global gcc_release 11
|
%global gcc_release 12
|
||||||
%global _unpackaged_files_terminate_build 0
|
%global _unpackaged_files_terminate_build 0
|
||||||
%global _performance_build 1
|
%global _performance_build 1
|
||||||
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
|
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
|
||||||
@ -200,8 +200,6 @@ Patch15: gcc49-color-auto.patch
|
|||||||
Patch16: gcc49-libgo-p224.patch
|
Patch16: gcc49-libgo-p224.patch
|
||||||
Patch17: gcc49-aarch64-async-unw-tables.patch
|
Patch17: gcc49-aarch64-async-unw-tables.patch
|
||||||
Patch18: gcc49-aarch64-unwind-opt.patch
|
Patch18: gcc49-aarch64-unwind-opt.patch
|
||||||
Patch19: gcc49-pr63285.patch
|
|
||||||
Patch20: gcc49-pr63186.patch
|
|
||||||
|
|
||||||
Patch1100: cloog-%{cloog_version}-ppc64le-config.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
|
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
|
||||||
%patch17 -p0 -b .aarch64-async-unw-tables~
|
%patch17 -p0 -b .aarch64-async-unw-tables~
|
||||||
%patch18 -p0 -b .aarch64-unwind-opt~
|
%patch18 -p0 -b .aarch64-unwind-opt~
|
||||||
%patch19 -p0 -b .pr63285~
|
|
||||||
%patch20 -p0 -b .pr63186~
|
|
||||||
|
|
||||||
%if 0%{?_enable_debug_packages}
|
%if 0%{?_enable_debug_packages}
|
||||||
cat > split-debuginfo.sh <<\EOF
|
cat > split-debuginfo.sh <<\EOF
|
||||||
@ -2804,6 +2800,20 @@ fi
|
|||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 17 2014 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> 4.9.1-11
|
* Tue Sep 30 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-11
|
||||||
- update from the 4.9 branch
|
- update from the 4.9 branch
|
||||||
- PRs c++/61465, c++/62219, c++/63249, inline-asm/63282, middle-end/63247,
|
- PRs c++/61465, c++/62219, c++/63249, inline-asm/63282, middle-end/63247,
|
||||||
|
@ -1,129 +0,0 @@
|
|||||||
2014-09-10 Jan Hubicka <hubicka@ucw.cz>
|
|
||||||
|
|
||||||
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()
|
|
||||||
+{
|
|
||||||
+}
|
|
@ -1,50 +0,0 @@
|
|||||||
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
|
|
||||||
|
|
||||||
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--;
|
|
||||||
+}
|
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
e34fca0540d840e5d0f6427e98c92252 cloog-0.18.1.tar.gz
|
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
|
e039bfcfb6c2ab039b8ee69bf883e824 isl-0.12.2.tar.bz2
|
||||||
|
Loading…
Reference in New Issue
Block a user