aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-09-06 17:10:28 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-09-06 15:10:28 +0000
commit7903b3e5bb007611afad518d7b1f028b39c596a7 (patch)
tree689aa54037bec5575d376a5e151f7bdc08b53a95 /gcc
parent5ee7f30627dfac38d5bd1b9815cf69e3844ff9c9 (diff)
downloadgcc-7903b3e5bb007611afad518d7b1f028b39c596a7.zip
gcc-7903b3e5bb007611afad518d7b1f028b39c596a7.tar.gz
gcc-7903b3e5bb007611afad518d7b1f028b39c596a7.tar.bz2
re PR middle-end/33318 (fortran/expr.c:305: internal compiler error: internal consistency failure)
PR target/33318 * cse.c (fold_rtx): Avoid invalid sharing. From-SVN: r128187
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cse.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d132863..bda9ea2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-06 Jan Hubicka <jh@suse.cz>
+
+ PR target/33318
+ * cse.c (fold_rtx): Avoid invalid sharing.
+
2007-09-06 Richard Sandiford <richard@codesourcery.com>
* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
diff --git a/gcc/cse.c b/gcc/cse.c
index fc4f895..590adfa 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3246,7 +3246,8 @@ fold_rtx (rtx x, rtx insn)
/* If we have a cheaper expression now, use that
and try folding it further, from the top. */
if (cheapest_simplification != x)
- return fold_rtx (cheapest_simplification, insn);
+ return fold_rtx (copy_rtx (cheapest_simplification),
+ insn);
}
}