Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-30 Thread Florian Weimer
On 11/27/2015 06:55 PM, Eric Botcazou wrote: > There is no official ABI for Ada so I guess that's not really a problem as > long as it's documented on https://gcc.gnu.org/gcc-5/changes.html. It's still surprising to make such a far-reaching change in a minor release, I think. Florian

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-27 Thread Eric Botcazou
> So, I'm not familiar with Ada 'fat pointers' but if that is one - > well, it's a record, with an alignment that the 'new' AAPCS now > ignores, so yes the ABI has changed between gcc 5.1 and 5.2, rather > more significantly for Ada than for C. Yes, XUP suffixed types are fat pointers and they are

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-27 Thread Alan Lawrence
On 26 November 2015 at 14:00, Alan Lawrence wrote: > On 6 November 2015 at 16:59, Jakub Jelinek wrote: >> >> In any case, to manually reproduce, compile >> gnatmake -g -gnatws macrosub.adb >> with GCC 5.1.1 (before the ARM changes) and then try to run that process >> against >> GCC 5.2.1 (after

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-26 Thread Alan Lawrence
On 6 November 2015 at 16:59, Jakub Jelinek wrote: > > In any case, to manually reproduce, compile > gnatmake -g -gnatws macrosub.adb > with GCC 5.1.1 (before the ARM changes) and then try to run that process > against > GCC 5.2.1 (after the ARM changes) libgnat-5.so, which is what make check > do

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-06 Thread Jakub Jelinek
On Fri, Nov 06, 2015 at 04:48:02PM +, Alan Lawrence wrote: > Sorry Jakub, can you clarify please, how to reproduce this failure? I've > just bootstrapped gcc-5-branch with ada and run the Ada testsuite, which has > build me gcc/ada/rts/libgnat{.a,.so,-5.so}, and I see all tests passing. > (Same

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-06 Thread Alan Lawrence
On 04/11/15 13:13, Jakub Jelinek wrote: On Mon, Jul 06, 2015 at 05:38:35PM +0100, Alan Lawrence wrote: Trying to push these now (svn!), patch 2 is going first. I realize my second iteration of patch 1/2, dropped the testcases from the first version. Okay to include those as per https://gcc.gnu.

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-04 Thread Florian Weimer
On 11/04/2015 02:13 PM, Jakub Jelinek wrote: > On Mon, Jul 06, 2015 at 05:38:35PM +0100, Alan Lawrence wrote: >> Trying to push these now (svn!), patch 2 is going first. >> >> I realize my second iteration of patch 1/2, dropped the testcases from the >> first version. Okay to include those as per >

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-11-04 Thread Jakub Jelinek
On Mon, Jul 06, 2015 at 05:38:35PM +0100, Alan Lawrence wrote: > Trying to push these now (svn!), patch 2 is going first. > > I realize my second iteration of patch 1/2, dropped the testcases from the > first version. Okay to include those as per > https://gcc.gnu.org/ml/gcc-patches/2015-07/msg002

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-07 Thread Alan Lawrence
Ramana Radhakrishnan wrote: This is OK, the ada testing can go in parallel and we should take this in to not delay rc1 any further. I can confirm, no regressions in check-ada (gcc/testsuite/gnats and gcc/testsuite/acats) following an ada bootstrap on cortex-a15/neon/hard-float. That's the

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Alan Lawrence
Ramana Radhakrishnan wrote: On 06/07/15 17:38, Alan Lawrence wrote: Trying to push these now (svn!), patch 2 is going first. I realize my second iteration of patch 1/2, dropped the testcases from the first version. Okay to include those as per https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Ramana Radhakrishnan
On 06/07/15 17:38, Alan Lawrence wrote: > Trying to push these now (svn!), patch 2 is going first. > > I realize my second iteration of patch 1/2, dropped the testcases from the > first version. Okay to include those as per > https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00215.html ? Yeah the

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Alan Lawrence
Trying to push these now (svn!), patch 2 is going first. I realize my second iteration of patch 1/2, dropped the testcases from the first version. Okay to include those as per https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00215.html ? Cheers, Alan Ramana Radhakrishnan wrote: On 06/07/15 12

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Ramana Radhakrishnan
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). >>

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Alan Lawrence
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 b

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-06 Thread Alan Lawrence
Richard Biener wrote: I also believe this loop is equivalent to checking TYPE_ALIGN of the aggregate type? Jakub is correct: the intention is to discard any top-level alignment attribute on a struct declaration. I'll double check your wording in the abi document, but it seems to be unclea

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-05 Thread Eric Botcazou
> 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_refe

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-04 Thread Jakub Jelinek
On Sat, Jul 04, 2015 at 12:57:36PM +0200, Richard Biener wrote: > + if (!AGGREGATE_TYPE_P (type)) > +return TYPE_ALIGN (TYPE_MAIN_VARIANT (type)) > PARM_BOUNDARY; > + > + for (tree field = TYPE_FIELDS (type); field; field = DECL_CHAIN > >>> (field)) > +if (DECL_AL

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-04 Thread Richard Biener
On July 3, 2015 10:43:30 PM GMT+02:00, Richard Earnshaw wrote: >On 03/07/15 19:24, Richard Biener wrote: >> On July 3, 2015 6:11:13 PM GMT+02:00, Richard Earnshaw > wrote: >>> On 03/07/15 16:26, Alan Lawrence wrote: These include tests of structs, scalars, and vectors - only general-pur

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-03 Thread Richard Earnshaw
On 03/07/15 19:24, Richard Biener wrote: > On July 3, 2015 6:11:13 PM GMT+02:00, Richard Earnshaw > wrote: >> On 03/07/15 16:26, Alan Lawrence wrote: >>> These include tests of structs, scalars, and vectors - only >>> general-purpose registers are affected by the ABI rules for >> alignment, >>> b

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-03 Thread Richard Biener
On July 3, 2015 6:11:13 PM GMT+02:00, Richard Earnshaw wrote: >On 03/07/15 16:26, Alan Lawrence wrote: >> These include tests of structs, scalars, and vectors - only >> general-purpose registers are affected by the ABI rules for >alignment, >> but we can restrict the vector test to use the base A

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-03 Thread Jakub Jelinek
On Fri, Jul 03, 2015 at 04:26:02PM +0100, Alan Lawrence wrote: > These include tests of structs, scalars, and vectors - only general-purpose > registers are affected by the ABI rules for alignment, but we can restrict > the vector test to use the base AAPCS. > > Prior to this patch, align2.c, alig

Re: [PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-03 Thread Richard Earnshaw
On 03/07/15 16:26, Alan Lawrence wrote: > These include tests of structs, scalars, and vectors - only > general-purpose registers are affected by the ABI rules for alignment, > but we can restrict the vector test to use the base AAPCS. > > Prior to this patch, align2.c, align3.c and align_rec1.c w

[PATCH 1/2][ARM] PR/65956 AAPCS update for alignment attribute

2015-07-03 Thread Alan Lawrence
These include tests of structs, scalars, and vectors - only general-purpose registers are affected by the ABI rules for alignment, but we can restrict the vector test to use the base AAPCS. Prior to this patch, align2.c, align3.c and align_rec1.c were failing (the latter showing an internal in