From 468660d358fcc56eb30b208df4c2926ea9b5a00e Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Mon, 16 Jul 2012 11:43:47 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/emit-rtl.c | 34 +++++++++------------------------- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 771bc0d1b385..985bbdc5b9ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2012-07-16 Steven Bosscher + * 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, diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index f0cbdb80f7b6..3431e98385b3 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -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; }