stmt.c (expand_start_bindings): Don't allow cleanup isntructions to disappear.

* stmt.c (expand_start_bindings): Don't allow cleanup isntructions
	to disappear.

From-SVN: r29644
This commit is contained in:
Mark Mitchell 1999-09-24 01:14:54 +00:00 committed by Mark Mitchell
parent 541b0512b1
commit a571f7a00e
2 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Thu Sep 23 18:18:55 1999 Mark Mitchell <mark@codesourcery.com>
* stmt.c (expand_start_bindings): Don't allow cleanup isntructions
to disappear.
Thu Sep 23 18:07:01 1999 Mark Mitchell <mark@codesourcery.com>
* optabs.c (init_traps): Register trap_rtx as a GC root.

View File

@ -3230,6 +3230,13 @@ expand_start_bindings (flags)
thisblock->data.block.conditional_code = 0;
thisblock->data.block.last_unconditional_cleanup = note;
/* When we insert instructions after the last unconditional cleanup,
we don't adjust last_insn. That means that a later add_insn will
clobber the instructions we've just added. The easiest way to
fix this is to just insert another instruction here, so that the
instructions inserted after the last unconditional cleanup are
never the last instruction. */
emit_note (NULL_PTR, NOTE_INSN_DELETED);
thisblock->data.block.cleanup_ptr = &thisblock->data.block.cleanups;
if (block_stack