From: Jason Merrill Date: Sun, 25 Oct 1998 23:54:41 +0000 (+0000) Subject: stmt.c (expand_fixup): Set fixup->before_jump to a NOTE_INSN_DELETED instead of a... X-Git-Tag: prereleases/egcs-1.1.1-pre~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c65b5ad8c42ab045f5c4503a3c89765e1df2bff9;p=thirdparty%2Fgcc.git stmt.c (expand_fixup): Set fixup->before_jump to a NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG. * stmt.c (expand_fixup): Set fixup->before_jump to a NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG. From-SVN: r23328 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 402c92532fb3..27564674d11e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Oct 25 23:36:52 1998 Jason Merrill + + * stmt.c (expand_fixup): Set fixup->before_jump to a + NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG. + Sun Oct 25 18:35:06 1998 David Edelsohn * ginclude/va-ppc.h (va_arg): longlong types in overflow area are diff --git a/gcc/stmt.c b/gcc/stmt.c index 9ebe6705e0f6..8d11a7577446 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -885,19 +885,25 @@ expand_fixup (tree_label, rtl_label, last_insn) code which we might later insert at this point in the insn stream. Also, the BLOCK node will be the parent (i.e. the `SUPERBLOCK') of any other BLOCK nodes which we might create - later on when we are expanding the fixup code. */ + later on when we are expanding the fixup code. + + Note that optimization passes (including expand_end_loop) + might move the *_BLOCK notes away, so we use a NOTE_INSN_DELETED + as a placeholder. */ { register rtx original_before_jump = last_insn ? last_insn : get_last_insn (); + rtx start; start_sequence (); pushlevel (0); - fixup->before_jump = emit_note (NULL_PTR, NOTE_INSN_BLOCK_BEG); + start = emit_note (NULL_PTR, NOTE_INSN_BLOCK_BEG); + fixup->before_jump = emit_note (NULL_PTR, NOTE_INSN_DELETED); last_block_end_note = emit_note (NULL_PTR, NOTE_INSN_BLOCK_END); fixup->context = poplevel (1, 0, 0); /* Create the BLOCK node now! */ end_sequence (); - emit_insns_after (fixup->before_jump, original_before_jump); + emit_insns_after (start, original_before_jump); } fixup->block_start_count = block_start_count;