aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2001-12-05 03:54:51 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2001-12-05 03:54:51 +0000
commit32a6f30e69f5044b5718c0c30b3a86eb94a2e8ec (patch)
treeb6319484437c264117d0472f57d7508ec8abcebf
parent4f56ebb79dc1afe5527dfb48c56d10b03e0f71dd (diff)
downloadgcc-32a6f30e69f5044b5718c0c30b3a86eb94a2e8ec.zip
gcc-32a6f30e69f5044b5718c0c30b3a86eb94a2e8ec.tar.gz
gcc-32a6f30e69f5044b5718c0c30b3a86eb94a2e8ec.tar.bz2
cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if CASE_DROPS_THROUGH.
* cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if CASE_DROPS_THROUGH. From-SVN: r47655
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgrtl.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b390614..2dd1ca4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
+ CASE_DROPS_THROUGH.
+
2001-12-04 Andrew MacLeod <amacleod@redhat.com>
* rtl.h (initialize_uninitialized_subregs): New prototype.
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 94f3a55..efc05313 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1610,7 +1610,12 @@ verify_flow_info ()
else
for (insn = NEXT_INSN (e->src->end); insn != e->dest->head;
insn = NEXT_INSN (insn))
- if (GET_CODE (insn) == BARRIER || INSN_P (insn))
+ if (GET_CODE (insn) == BARRIER
+#ifndef CASE_DROPS_THROUGH
+ || INSN_P (insn))
+#else
+ || (INSN_P (insn) && ! JUMP_TABLE_DATA_P (insn)))
+#endif
{
error ("verify_flow_info: Incorrect fallthru %i->%i",
e->src->index, e->dest->index);