On Aug 17, 2015, Christophe Lyon <christophe.l...@linaro.org> wrote:

> On 17 August 2015 at 13:58, Alexandre Oliva <aol...@redhat.com> wrote:
>> On Aug 17, 2015, Christophe Lyon <christophe.l...@linaro.org> wrote:
>> 
>>> Since this was committed (r226901), I can see that the compiler build
>>> fails for armeb targets, when building libgcc:
>> 
>> Any chance you could get me a preprocessed testcase for this failure, please?
>> 
> Yes, here it is, attached.

Thanks.

This patch fixes this particular case.  I'll also add this configuration
to the cross build tests I'm going to rerun shortly, before submitting a
followup formally, to see whether other non-MEM mems need to be handled
explicitly.


--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3017,6 +3017,11 @@ assign_parm_setup_block (struct assign_parm_data_all 
*all,
       else if (size == 0)
        ;
 
+      /* MEM may be a REG if coalescing assigns the param's partition
+        to a pseudo.  */
+      else if (REG_P (mem))
+       emit_move_insn (mem, entry_parm);
+
       /* If SIZE is that of a mode no bigger than a word, just use
         that mode's store operation.  */
       else if (size <= UNITS_PER_WORD)


-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer

Reply via email to