https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71280
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-05-25 CC| |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Reduced testcase for -Ofast -mavx: template <typename T> struct A { typedef T C[64]; static T &bar (C &x, int y) { return const_cast<T &>(x[y]); } }; template <typename T> struct B { typename A<T>::C D; T *begin (); T &operator[](int x) { return A<T>::bar (D, x); } T &at () { return A<T>::bar (D, 0); } }; extern B<B<int> > a; void foo () { B<B<B<int> > > b; for (int c = 0; c < 64; c++) (*(*b.begin ()).begin ())[0] * a.at ()[c]; }