emit-rtl.c (emit_label_before): Do not allow the same label to be emitted twice.

* emit-rtl.c (emit_label_before): Do not allow the same label
	to be emitted twice.
	(emit_label_after): Likewise.
	(emit_label): Likewise.

From-SVN: r189521
This commit is contained in:
Steven Bosscher 2012-07-16 11:43:47 +00:00
parent 89ca6d794e
commit 468660d358
2 changed files with 14 additions and 25 deletions

View File

@ -1,5 +1,10 @@
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
* emit-rtl.c (emit_label_before): Do not allow the same label
to be emitted twice.
(emit_label_after): Likewise.
(emit_label): Likewise.
* flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h.
* tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,

View File

@ -4220,14 +4220,9 @@ emit_barrier_before (rtx before)
rtx
emit_label_before (rtx label, rtx before)
{
/* This can be called twice for the same label as a result of the
confusion that follows a syntax error! So make it harmless. */
if (INSN_UID (label) == 0)
{
INSN_UID (label) = cur_insn_uid++;
add_insn_before (label, before, NULL);
}
gcc_checking_assert (INSN_UID (label) == 0);
INSN_UID (label) = cur_insn_uid++;
add_insn_before (label, before, NULL);
return label;
}
@ -4386,15 +4381,9 @@ emit_barrier_after (rtx after)
rtx
emit_label_after (rtx label, rtx after)
{
/* This can be called twice for the same label
as a result of the confusion that follows a syntax error!
So make it harmless. */
if (INSN_UID (label) == 0)
{
INSN_UID (label) = cur_insn_uid++;
add_insn_after (label, after, NULL);
}
gcc_checking_assert (INSN_UID (label) == 0);
INSN_UID (label) = cur_insn_uid++;
add_insn_after (label, after, NULL);
return label;
}
@ -4810,14 +4799,9 @@ emit_call_insn (rtx x)
rtx
emit_label (rtx label)
{
/* This can be called twice for the same label
as a result of the confusion that follows a syntax error!
So make it harmless. */
if (INSN_UID (label) == 0)
{
INSN_UID (label) = cur_insn_uid++;
add_insn (label);
}
gcc_checking_assert (INSN_UID (label) == 0);
INSN_UID (label) = cur_insn_uid++;
add_insn (label);
return label;
}