This is the mail archive of the gcc@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]
Other format: [Raw text]

Re: Bootstrap failure on SH


Kaz Kojima <kkojima@rr.iij4u.or.jp> writes:

> ../../ORIG/gcc/gcc/lcm.c: In function `optimize_mode_switching':
> ../../ORIG/gcc/gcc/lcm.c:1028: error: structure has no member named `succ'
> ../../ORIG/gcc/gcc/lcm.c:1032: error: structure has no member named `pred'
> ../../ORIG/gcc/gcc/lcm.c:1032: error: structure has no member named `pred_next'
> ../../ORIG/gcc/gcc/lcm.c:1032: warning: value computed is not used

Sorry about that.  This code was in a conditional block and not caught
by my selection of testing targets :-(

Would you please try the following patch?

Thanks, Ben

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 05:56:35 -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->succs, 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);


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