1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/* { dg-do compile } */ struct A { int a[4]; int* operator[](int i) { return &a[i]; } }; void foo(A a1, A &a2) { a1[1][1]=0; for (int i=0; i<4; ++i) a2.a[i]=0; } /* { dg-final { cleanup-tree-dump "vect" } } */