Re: Alias analysis and zero-sized arrays vs. flexible arrays

2017-04-25 Thread Richard Biener
On April 25, 2017 8:03:20 PM GMT+02:00, Steve Ellcey wrote: >On Tue, 2017-04-25 at 12:53 +0200, Richard Biener wrote: > >> > int foo() { >> >    int i,j; >> >    for (i = 0; i < m; i++) { >> > a->o[i] = sizeof(*a); >> > b = ((struct r *)(((char *)a) + a->o[a->n])); >> > for

Re: Alias analysis and zero-sized arrays vs. flexible arrays

2017-04-25 Thread Steve Ellcey
On Tue, 2017-04-25 at 12:53 +0200, Richard Biener wrote: > > int foo() { > >    int i,j; > >    for (i = 0; i < m; i++) { > > a->o[i] = sizeof(*a); > > b = ((struct r *)(((char *)a) + a->o[a->n])); > > for (j = 0; j < 10; j++) { > > b->slot[j].b = 0; > in ca

Re: Alias analysis and zero-sized arrays vs. flexible arrays

2017-04-25 Thread Richard Biener
On Tue, Apr 25, 2017 at 1:06 AM, Steve Ellcey wrote: > I was wondering if someone could help me understand a bug involving > aliasing, this is happening on aarch64 but I don't think it is architecure > specific. The problem involves flexible arrays vs. zero sized arrays at > the end of a structur

Alias analysis and zero-sized arrays vs. flexible arrays

2017-04-24 Thread Steve Ellcey
I was wondering if someone could help me understand a bug involving aliasing, this is happening on aarch64 but I don't think it is architecure specific. The problem involves flexible arrays vs. zero sized arrays at the end of a structure. In the original code, a zero size array is used and the pr