Hi, gcc crashes during cross-build of libiberty due to a bad handling of promote_function_mode. This patch fixes that.
Committed on trunk. Tristan. 2011-03-28 Tristan Gingold <ging...@adacore.com> * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion when for_return is 2. Index: gcc/config/ia64/ia64.c =================================================================== --- gcc/config/ia64/ia64.c (revision 171607) +++ gcc/config/ia64/ia64.c (working copy) @@ -11001,7 +11001,7 @@ For all other types passed in the general registers, unused bits are undefined." */ - if (!AGGREGATE_TYPE_P (type) + if (for_return != 2 && GET_MODE_CLASS (mode) == MODE_INT && GET_MODE_SIZE (mode) < UNITS_PER_WORD) {