diff options
author | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-20 05:02:28 +0000 |
---|---|---|
committer | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-20 05:02:28 +0000 |
commit | 532f6ac12898fe43f5e2f172bd72a5a14c4c00cc (patch) | |
tree | adcd8f1cb11423dfef36a3d69e2b7f39b0f21c01 /gcc/cfghooks.c | |
parent | ad1a4db8a51c4e0e5db999b99bc6cfd83a1e955c (diff) | |
download | gcc-532f6ac12898fe43f5e2f172bd72a5a14c4c00cc.tar.gz |
* 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
Diffstat (limited to 'gcc/cfghooks.c')
-rw-r--r-- | gcc/cfghooks.c | 14 |
1 files changed, 14 insertions, 0 deletions
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; } } |