[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-13 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 --- Comment #5 from joseph at codesourcery dot com --- I don't see a need for these different structures to be able to alias. (Flexible array members do need to be able to alias static storage, in the case where that static storage was declare

[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 Richard Biener changed: What|Removed |Added CC||jsm28 at gcc dot gnu.org --- Comment #4

[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 --- Comment #3 from Richard Biener --- Using struct Xflex { int n; int a[]; }; doesn't fix it (as expected).

[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 Richard Biener changed: What|Removed |Added Known to work||3.4.6 Known to fail|

[Bug middle-end/69258] Flexible arrays break TBAA

2016-01-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69258 --- Comment #1 from Richard Biener --- extern void abort (void); struct Xflex { int n; int a[1]; }; struct Xspecific { int n; int a[7]; } x; int __attribute__((noinline,noclone)) foo (struct Xflex *f) { x.a[6] = 1; f->a[6] = 2; return x.a