From 532f6ac12898fe43f5e2f172bd72a5a14c4c00cc Mon Sep 17 00:00:00 2001 From: kazu Date: Sat, 20 Nov 2004 05:02:28 +0000 Subject: * basic-block.h (edge_def): Add dest_idx. * cfg.c (unchecked_make_edge): Initialize dest_idx. (remove_edge): Simplify the disconnection of an edge from its destination. (redirect_edge_succ): Likewise. * cfghooks.c (verify_flow_info): Check the consistency of dest_idx for each edge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90958 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cfghooks.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gcc/cfghooks.c') diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c index 00f4562d81e..42d1183841a 100644 --- a/gcc/cfghooks.c +++ b/gcc/cfghooks.c @@ -178,6 +178,20 @@ verify_flow_info (void) fputc ('\n', stderr); err = 1; } + + if (ei.index != e->dest_idx) + { + error ("basic block %d pred edge is corrupted", bb->index); + error ("its dest_idx should be %d, not %d", + ei.index, e->dest_idx); + fputs ("Predecessor: ", stderr); + dump_edge_info (stderr, e, 0); + fputs ("\nSuccessor: ", stderr); + dump_edge_info (stderr, e, 1); + fputc ('\n', stderr); + err = 1; + } + edge_checksum[e->dest->index + 2] -= (size_t) e; } } -- cgit v1.2.1