> I'm trying the attached patch over sh-softfp-20100718-2131 patch.
> All regressions go away with it on cross sh4-unknown-linux-gnu,
> though the native bootstrap will take a few days more.

There are a few warnings in bootstrap:

../trunk/gcc/config/sh/sh.c: In function 'sh_soft_fp_cmp':
../trunk/gcc/config/sh/sh.c:2193:8: error: enum conversion in initialization is 
invalid in C++ [-Werror=c++-compat]
../trunk/gcc/config/sh/sh.c:2248:3: error: enum conversion when passing 
argument 1 of 'gen_rtx_fmt_ee_stat' is invalid in C++ [-Werror=c++-compat]
./genrtl.h:24:1: note: expected 'enum rtx_code' but argument is of type 'int'
../trunk/gcc/config/sh/sh.c: In function 'expand_sfunc_op':
../trunk/gcc/config/sh/sh.c:8744:19: error: variable 'insn' set but not used 
[-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

The attached is a fixup for them.

Unfortunately, the bootstrap has failed with stage2/stage3
comparison failure, though it might be irrelevant with softfp
patches.  I'll try again with some older revision.

Regards,
        kaz
--

--- ORIG/trunk/gcc/config/sh/sh.c       2010-07-19 10:58:36.000000000 +0900
+++ trunk/gcc/config/sh/sh.c    2010-07-21 06:45:18.000000000 +0900
@@ -2185,12 +2185,13 @@ sh_emit_cheap_store_flag (enum machine_m
 }
 
 static rtx
-sh_soft_fp_cmp (int code, enum machine_mode op_mode, rtx op0, rtx op1)
+sh_soft_fp_cmp (enum rtx_code code, enum machine_mode op_mode, rtx op0,
+               rtx op1)
 {
   const char *name = NULL;
   rtx (*fun) (rtx, rtx), addr, tmp, last, equiv;
   int df = op_mode == DFmode;
-  enum machine_mode mode = CODE_FOR_nothing; /* shut up warning.  */
+  enum machine_mode mode = MAX_MACHINE_MODE; /* shut up warning.  */
 
   switch (code)
     {
@@ -8741,13 +8742,13 @@ expand_sfunc_op (int nargs, enum machine
                 const char *name, rtx equiv, rtx *operands)
 {
   int next_reg = FIRST_PARM_REG, i;
-  rtx addr, last, insn;
+  rtx addr, last;
 
   addr = gen_reg_rtx (Pmode);
   function_symbol (addr, name, SFUNC_FREQUENT);
   for ( i = 1; i <= nargs; i++)
     {
-      insn = emit_move_insn (gen_rtx_REG (mode, next_reg), operands[i]);
+      emit_move_insn (gen_rtx_REG (mode, next_reg), operands[i]);
       next_reg += GET_MODE_SIZE (mode) / UNITS_PER_WORD;
     }
   last = emit_insn ((*fun) (operands[0], addr));

Reply via email to