This PR is about an ICE on SPARC 32-bit with -freg-struct-return. I didn't know that this option was supported on this architecture but apparently it was, at least in the 3.x series, so the attached patchlet fixes the ICE. Tested on SPARC/Solaris (including compat testing), applied on all branches. 2015-11-09 Eric Botcazou PR target/57845 * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do not promote the mode for aggregate types. 2015-11-09 Eric Botcazou * gcc.target/sparc/sparc-ret.c: Rename to... * gcc.target/sparc/sparc-ret-1.c: ...this. * gcc.target/sparc/sparc-ret-2.c: New test. -- Eric Botcazou