This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
build fix for SH
- From: "Ben Elliston" <bje at au1 dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: 30 Sep 2004 09:40:56 +1000
- Subject: build fix for SH
This build problem was caught by Kaz Kojima and I think the patch is
obvious enough. :-) I've also adapted an if (expr) abort () to use
gcc_assert ().
Kaz has reported a successful sh-linux bootstrap.
Okay to commit?
2004-09-30 Ben Elliston <bje@au.ibm.com>
* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
FOR_EACH_EDGE macros.
Index: lcm.c
===================================================================
RCS file: /home/bje/gcc-cvs/gcc/gcc/lcm.c,v
retrieving revision 1.66
diff -u -p -r1.66 lcm.c
--- lcm.c 28 Sep 2004 07:59:47 -0000 1.66
+++ lcm.c 29 Sep 2004 23:35:28 -0000
@@ -1025,17 +1025,18 @@ optimize_mode_switching (FILE *file)
exit block, so that we can note that there NORMAL_MODE is supplied /
required. */
edge eg;
- post_entry = split_edge (ENTRY_BLOCK_PTR->succ);
+ edge_iterator ei;
+ post_entry = split_edge (EDGE_SUCC (ENTRY_BLOCK_PTR, 0));
/* The only non-call predecessor at this stage is a block with a
fallthrough edge; there can be at most one, but there could be
none at all, e.g. when exit is called. */
- for (pre_exit = 0, eg = EXIT_BLOCK_PTR->pred; eg; eg = eg->pred_next)
+ pre_exit = 0;
+ FOR_EACH_EDGE (eg, ei, EXIT_BLOCK_PTR->preds)
if (eg->flags & EDGE_FALLTHRU)
{
regset live_at_end = eg->src->global_live_at_end;
- if (pre_exit)
- abort ();
+ gcc_assert (!pre_exit);
pre_exit = split_edge (eg);
COPY_REG_SET (pre_exit->global_live_at_start, live_at_end);
COPY_REG_SET (pre_exit->global_live_at_end, live_at_end);