Jakub Jelinek <ja...@redhat.com> writes: > On Tue, Feb 11, 2014 at 02:51:08PM +0000, Marcus Shawcroft wrote: >> On 6 February 2014 22:51, Michael Hudson-Doyle >> <michael.hud...@canonical.com> wrote: >> >> > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c >> > index 16c51a8..958c667 100644 >> > --- a/gcc/config/aarch64/aarch64.c >> > +++ b/gcc/config/aarch64/aarch64.c >> > @@ -1187,14 +1187,10 @@ aarch64_pass_by_reference (cumulative_args_t pcum >> > ATTRIBUTE_UNUSED, >> > size = (mode == BLKmode && type) >> > ? int_size_in_bytes (type) : (int) GET_MODE_SIZE (mode); >> > >> > - if (type) >> > + /* Aggregates are passed by reference based on their size. */ >> > + if (type && AGGREGATE_TYPE_P (type)) >> > { >> > - /* Arrays always passed by reference. */ >> > - if (TREE_CODE (type) == ARRAY_TYPE) >> > - return true; >> > - /* Other aggregates based on their size. */ >> > - if (AGGREGATE_TYPE_P (type)) >> > - size = int_size_in_bytes (type); >> > + size = int_size_in_bytes (type); >> > } >> > >> > /* Variable sized arguments are always returned by reference. */ >> >> This version of the patch looks fine. Since this is a bug I think it >> should be committed now in stage 4. This is OK if release manager >> agrees. > > Ok.
So, um, can someone commit this please? Cheers, mwh