aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-03-31 17:26:57 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-03-31 17:26:57 +0200
commit2080bd297ed7cc67b78014e5defb4f7dc986199c (patch)
tree2f0b8d05ce5007805462cffa5e2e7d0944e773b3 /gcc
parent33283dadd3a8ea2e7104f4e7a43bd70b4e96090c (diff)
downloadgcc-2080bd297ed7cc67b78014e5defb4f7dc986199c.zip
gcc-2080bd297ed7cc67b78014e5defb4f7dc986199c.tar.gz
gcc-2080bd297ed7cc67b78014e5defb4f7dc986199c.tar.bz2
re PR bootstrap/43596 (Failed to boostrap)
PR bootstrap/43596 * cselib.c (cselib_process_insn): Clear cselib_current_insn even before returning from label, setjmp call or volatile asm handling. From-SVN: r157869
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cselib.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6515701..a76c950 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43596
+ * cselib.c (cselib_process_insn): Clear cselib_current_insn
+ even before returning from label, setjmp call or volatile asm
+ handling.
+
2010-03-31 Richard Guenther <rguenther@suse.de>
PR middle-end/43600
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 18807ca..f46c5ec 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -2155,12 +2155,13 @@ cselib_process_insn (rtx insn)
&& MEM_VOLATILE_P (PATTERN (insn))))
{
cselib_reset_table (next_uid);
+ cselib_current_insn = NULL_RTX;
return;
}
if (! INSN_P (insn))
{
- cselib_current_insn = 0;
+ cselib_current_insn = NULL_RTX;
return;
}
@@ -2202,7 +2203,7 @@ cselib_process_insn (rtx insn)
if (GET_CODE (XEXP (x, 0)) == CLOBBER)
cselib_invalidate_rtx (XEXP (XEXP (x, 0), 0));
- cselib_current_insn = 0;
+ cselib_current_insn = NULL_RTX;
if (n_useless_values > MAX_USELESS_VALUES
/* remove_useless_values is linear in the hash table size. Avoid