4.7.0-0.13
This commit is contained in:
parent
af901f0d9b
commit
9cf7da719f
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
31
gcc.spec
31
gcc.spec
@ -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,
|
||||
|
@ -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. */
|
@ -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 ();
|
||||
+}
|
@ -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);
|
Loading…
Reference in New Issue
Block a user