Hi, this fixes a bug which has been revealed by compiling the back-end with g++ now.
Committed to mainline and 4.6. Bye, -Andreas- 2011-07-20 Andreas Krebbel <andreas.kreb...@de.ibm.com> * config/s390/s390.c (s390_class_max_nregs): Fix return type. * config/s390/s390-protos.h (s390_class_max_nregs): Likewise. Index: gcc/config/s390/s390.c =================================================================== *** gcc/config/s390/s390.c.orig --- gcc/config/s390/s390.c *************** s390_hard_regno_rename_ok (unsigned int *** 7572,7578 **** /* Maximum number of registers to represent a value of mode MODE in a register of class RCLASS. */ ! bool s390_class_max_nregs (enum reg_class rclass, enum machine_mode mode) { switch (rclass) --- 7572,7578 ---- /* Maximum number of registers to represent a value of mode MODE in a register of class RCLASS. */ ! int s390_class_max_nregs (enum reg_class rclass, enum machine_mode mode) { switch (rclass) Index: gcc/config/s390/s390-protos.h =================================================================== *** gcc/config/s390/s390-protos.h.orig --- gcc/config/s390/s390-protos.h *************** extern void s390_function_profiler (FILE *** 41,47 **** extern void s390_set_has_landing_pad_p (bool); extern bool s390_hard_regno_mode_ok (unsigned int, enum machine_mode); extern bool s390_hard_regno_rename_ok (unsigned int, unsigned int); ! extern bool s390_class_max_nregs (enum reg_class, enum machine_mode); #ifdef RTX_CODE extern int s390_extra_constraint_str (rtx, int, const char *); --- 41,47 ---- extern void s390_set_has_landing_pad_p (bool); extern bool s390_hard_regno_mode_ok (unsigned int, enum machine_mode); extern bool s390_hard_regno_rename_ok (unsigned int, unsigned int); ! extern int s390_class_max_nregs (enum reg_class, enum machine_mode); #ifdef RTX_CODE extern int s390_extra_constraint_str (rtx, int, const char *);