This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: Allow jump table data in fallthru if CASE_DROPS_THROUGH


This is a repost because the file to which it applies has changed.  On
machines such as the vax, a jump table can be in the fallthru.  This patch
changes verify_flow_info to allow jump tables in the fallthru when
CASE_DROPS_THROUGH is defined when it checks the configuration.

The patch has been bootstrap checked on hppa1.1-hp-hpux10.20.  On the
vax, it has been confirmed that it resolves the problem in question.
However, there are still more bugs to stomp in the mainline.

OK?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

2001-10-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
	CASE_DROPS_THROUGH.

--- cfgrtl.c.orig	Fri Sep 28 22:44:22 2001
+++ cfgrtl.c	Fri Sep 28 23:16:32 2001
@@ -1609,7 +1609,12 @@
 	      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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]