[committed/vms] fix ice for vms/ia64

Tristan Gingold gingold@adacore.com
Mon Mar 28 15:47:00 GMT 2011


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  <gingold@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)
     {



More information about the Gcc-patches mailing list