aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-07-16 11:43:47 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-07-16 11:43:47 +0000
commit468660d358fcc56eb30b208df4c2926ea9b5a00e (patch)
tree46e8f77aa8739208fc71d9457ab924e9c121f911 /gcc
parent89ca6d794e9bb950640839d1235fc881495e8df8 (diff)
downloadgcc-468660d358fcc56eb30b208df4c2926ea9b5a00e.zip
gcc-468660d358fcc56eb30b208df4c2926ea9b5a00e.tar.gz
gcc-468660d358fcc56eb30b208df4c2926ea9b5a00e.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c34
2 files changed, 14 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 771bc0d..985bbdc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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,
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index f0cbdb8..3431e98 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;
}