On 06/07/15 12:00, Alan Lawrence wrote: > Eric Botcazou wrote: >>> Technically this is incorrect since AGGREGATE_TYPE_P includes ARRAY_TYPE >>> and ARRAY_TYPE doesn't have TYPE_FIELDS. I doubt we could reach that >>> case though (unless there's a language that allows passing arrays by value). >> >> Ada passes small array types by the method specified by the >> pass_by_reference hook (and large array types by reference). > > Ok, thanks. Here's a revised patch that handles array types. Again I've > tested on both trunk (bootstrap + check-gcc) and gcc-5-branch > (profiledbootstrap now succeeding + check-gcc). Jakub's pr65956.c testcase > also now passes. >
> The new code lacks a testcase; from what Eric says, it's possible we can > write one using Ada, but I don't know any Ada myself, so I think any testcase > should follow in a separate patch. > > Neither have I managed to run a check-ada yet, as I don't presently have a > working Ada compiler with which to bootstrap gcc's Ada frontend. Working on > this now. This is OK, the ada testing can go in parallel and we should take this in to not delay rc1 any further. regards Ramana > > --Alan > > gcc/ChangeLog: > > * config/arm/arm.c (arm_needs_doubleword_align) : Drop any outer > alignment attribute, exploring one level down for records and arrays.