4.7.0-0.13

This commit is contained in:
Jakub Jelinek 2012-02-16 13:19:06 +01:00
parent af901f0d9b
commit 9cf7da719f
6 changed files with 23 additions and 139 deletions

1
.gitignore vendored
View File

@ -18,3 +18,4 @@
/gcc-4.7.0-20120126.tar.bz2
/gcc-4.7.0-20120206.tar.bz2
/gcc-4.7.0-20120208.tar.bz2
/gcc-4.7.0-20120216.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20120208
%global SVNREV 184012
%global DATE 20120216
%global SVNREV 184307
%global gcc_version 4.7.0
# 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 _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@ -12,7 +12,7 @@
%global build_ada 0
%endif
%global build_java 1
%ifarch %{ix86} x86_64
%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x %{arm}
%global build_go 1
%else
%global build_go 0
@ -174,9 +174,6 @@ Patch12: gcc47-libstdc++-docs.patch
Patch13: gcc47-no-add-needed.patch
Patch14: gcc47-ppl-0.10.patch
Patch15: gcc47-libitm-fno-exceptions.patch
Patch16: gcc47-pr51950.patch
Patch17: gcc47-pr52132.patch
Patch18: gcc47-pr52165.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -678,9 +675,6 @@ package or when debugging this package.
%patch14 -p0 -b .ppl-0.10~
%endif
%patch15 -p0 -b .libitm-fno-exceptions~
%patch16 -p0 -b .pr51950~
%patch17 -p0 -b .pr52132~
%patch18 -p0 -b .pr52165~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -2641,6 +2635,23 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Thu Feb 16 2012 Jakub Jelinek <jakub@redhat.com> 4.7.0-0.13
- update from trunk
- PRs boehm-gc/48514, bootstrap/52172, c++/39055, c++/51910, c++/52215,
c/52181, c/52190, debug/52165, debug/52260, driver/48524,
fortran/32380, fortran/52151, go/48411, go/51874, libffi/52221,
libitm/52042, libitm/52220, libstdc++/51368, lto/52178,
middle-end/48600, middle-end/51867, middle-end/51929,
middle-end/52140, middle-end/52142, middle-end/52177,
middle-end/52209, middle-end/52214, middle-end/52230,
rtl-optimization/52175, target/51921, target/52146, target/52199,
target/52205, target/52261, testsuite/50076, translation/52193,
translation/52211, translation/52264, tree-optimization/50031,
tree-optimization/50561, tree-optimization/52210,
tree-optimization/52244, tree-optimization/52255
- fix asm goto handling in templates (#790221, PR c++/52247)
- reenable go on ppc/ppc64/s390/s390x/arm
* Wed Feb 8 2012 Jakub Jelinek <jakub@redhat.com> 4.7.0-0.12
- update from trunk
- PRs c++/52035, fortran/51514, gcov-profile/52150, libstdc++/51296,

View File

@ -1,54 +0,0 @@
2012-01-25 Jakub Jelinek <jakub@redhat.com>
PR debug/51950
* dwarf2out.c (clone_tree_hash): New function.
(copy_decls_walk): Use it instead of clone_tree.
--- gcc/dwarf2out.c.jj 2012-01-23 18:23:45.000000000 +0100
+++ gcc/dwarf2out.c 2012-01-25 18:32:24.026350399 +0100
@@ -7406,6 +7406,32 @@ copy_ancestor_tree (dw_die_ref unit, dw_
return copy;
}
+/* Like clone_tree, but additionally enter all the children into
+ the hash table decl_table. */
+
+static dw_die_ref
+clone_tree_hash (dw_die_ref die, htab_t decl_table)
+{
+ dw_die_ref c;
+ dw_die_ref clone = clone_die (die);
+ struct decl_table_entry *entry;
+ void **slot = htab_find_slot_with_hash (decl_table, die,
+ htab_hash_pointer (die), INSERT);
+ /* Assert that DIE isn't in the hash table yet. If it would be there
+ before, the ancestors would be necessarily there as well, therefore
+ clone_tree_hash wouldn't be called. */
+ gcc_assert (*slot == HTAB_EMPTY_ENTRY);
+ entry = XCNEW (struct decl_table_entry);
+ entry->orig = die;
+ entry->copy = clone;
+ *slot = entry;
+
+ FOR_EACH_CHILD (die, c,
+ add_child_die (clone, clone_tree_hash (c, decl_table)));
+
+ return clone;
+}
+
/* Walk the DIE and its children, looking for references to incomplete
or trivial types that are unmarked (i.e., that are not in the current
type_unit). */
@@ -7442,7 +7468,11 @@ copy_decls_walk (dw_die_ref unit, dw_die
else
{
dw_die_ref parent = unit;
- dw_die_ref copy = clone_tree (targ);
+ dw_die_ref copy = clone_die (targ);
+
+ FOR_EACH_CHILD (targ, c,
+ add_child_die (copy,
+ clone_tree_hash (c, decl_table)));
/* Make sure the cloned tree is marked as part of the
type unit. */

View File

@ -1,47 +0,0 @@
2012-02-06 Jakub Jelinek <jakub@redhat.com>
PR debug/52132
* reg-stack.c (subst_stack_regs_in_debug_insn): Don't use
get_true_reg.
* gcc.dg/pr52132.c: New test.
--- gcc/reg-stack.c.jj 2011-12-01 11:45:06.000000000 +0100
+++ gcc/reg-stack.c 2012-02-06 11:13:28.777795938 +0100
@@ -1323,14 +1323,10 @@ compare_for_stack_reg (rtx insn, stack r
static int
subst_stack_regs_in_debug_insn (rtx *loc, void *data)
{
- rtx *tloc = get_true_reg (loc);
stack regstack = (stack)data;
int hard_regno;
- if (!STACK_REG_P (*tloc))
- return 0;
-
- if (tloc != loc)
+ if (!STACK_REG_P (*loc))
return 0;
hard_regno = get_hard_regnum (regstack, *loc);
--- gcc/testsuite/gcc.dg/pr52132.c.jj 2012-02-06 11:14:23.572547529 +0100
+++ gcc/testsuite/gcc.dg/pr52132.c 2012-02-06 11:14:46.656442861 +0100
@@ -0,0 +1,18 @@
+/* PR debug/52132 */
+/* { dg-do compile } */
+/* { dg-options "-std=c99 -O2 -g" } */
+
+int l;
+void bar (void);
+
+void
+foo (int *x, float y)
+{
+ float b;
+ union { float f; int i; } u = { .f = y };
+ u.i += 127 << 23;
+ u.f = ((-1.0f / 3) * u.f + 2) * u.f - 2.0f / 3;
+ b = 0.5 * (u.f + l);
+ if (b >= *x)
+ bar ();
+}

View File

@ -1,27 +0,0 @@
2012-02-08 Jakub Jelinek <jakub@redhat.com>
PR debug/52165
* var-tracking.c (emit_note_insn_var_location): If
EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
non-NOTE_DURING_CALL_P insn.
--- gcc/var-tracking.c.jj 2012-01-30 00:10:01.000000000 +0100
+++ gcc/var-tracking.c 2012-02-08 16:20:54.808523330 +0100
@@ -8225,9 +8225,14 @@ emit_note_insn_var_location (void **varp
/* Make sure that the call related notes come first. */
while (NEXT_INSN (insn)
&& NOTE_P (insn)
- && NOTE_DURING_CALL_P (insn))
+ && ((NOTE_KIND (insn) == NOTE_INSN_VAR_LOCATION
+ && NOTE_DURING_CALL_P (insn))
+ || NOTE_KIND (insn) == NOTE_INSN_CALL_ARG_LOCATION))
insn = NEXT_INSN (insn);
- if (NOTE_P (insn) && NOTE_DURING_CALL_P (insn))
+ if (NOTE_P (insn)
+ && ((NOTE_KIND (insn) == NOTE_INSN_VAR_LOCATION
+ && NOTE_DURING_CALL_P (insn))
+ || NOTE_KIND (insn) == NOTE_INSN_CALL_ARG_LOCATION))
note = emit_note_after (NOTE_INSN_VAR_LOCATION, insn);
else
note = emit_note_before (NOTE_INSN_VAR_LOCATION, insn);

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
c76f55401f9f983074ea59e115f24260 gcc-4.7.0-20120208.tar.bz2
0523cb594dc9fb19d515f2fb33c1a7e7 gcc-4.7.0-20120216.tar.bz2