Re: [SH] Fix bootstrap failures with --enable-checking

2012-09-13 Thread Kaz Kojima
Christian Bruel  wrote:
> This patch fixes a couple of assertions while building libgcc, when
> configured with --enable-checking=all.
> 
> OK for trunk ?

OK.

Regards,
kaz


[SH] Fix bootstrap failures with --enable-checking

2012-09-13 Thread Christian Bruel
Hello,

This patch fixes a couple of assertions while building libgcc, when
configured with --enable-checking=all.

OK for trunk ?

thanks

Christian

2012-09-13  Christian Bruel  

	* config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
	* config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.

Index: config/sh/predicates.md
===
--- config/sh/predicates.md	(revision 191222)
+++ config/sh/predicates.md	(working copy)
@@ -998,11 +998,12 @@
 	return REGNO (op) == T_REG;
 
   case SUBREG:
-	return REGNO (SUBREG_REG (op)) == T_REG;
+	return REG_P (SUBREG_REG (op)) && REGNO (SUBREG_REG (op)) == T_REG;
 
   case ZERO_EXTEND:
   case SIGN_EXTEND:
 	return GET_CODE (XEXP (op, 0)) == SUBREG
+	   && REG_P (SUBREG_REG (XEXP (op, 0)))
 	   && REGNO (SUBREG_REG (XEXP (op, 0))) == T_REG;
 
   default:
Index: config/sh/sh.c
===
--- config/sh/sh.c	(revision 191222)
+++ config/sh/sh.c	(working copy)
@@ -9876,7 +9876,7 @@ fpscr_set_from_mem (int mode, HARD_REG_SET regs_li
 static bool
 sequence_insn_p (rtx insn)
 {
-  rtx prev, next, pat;
+  rtx prev, next;
 
   prev = PREV_INSN (insn);
   if (prev == NULL)
@@ -9886,11 +9886,7 @@ sequence_insn_p (rtx insn)
   if (next == NULL)
 return false;
 
-  pat = PATTERN (next);
-  if (pat == NULL)
-return false;
-
-  return GET_CODE (pat) == SEQUENCE;
+  return INSN_P (next) && GET_CODE (PATTERN (next)) == SEQUENCE;
 }
 
 int