| // { dg-do compile { target c++14 } } | |
| struct A | |
| { | |
| int i; | |
| }; | |
| constexpr bool f() | |
| { | |
| A ar[5] = { 6, 7, 8, 9, 10 }; | |
| A *ap = ar; | |
| int i = 0, j = 0; | |
| for (j = 0; j < 2; j++) | |
| { | |
| do | |
| *ap++ = A{i}; | |
| while (++i < j * 2 + 2); | |
| } | |
| return (ar[0].i == 0 | |
| && ar[1].i == 1 | |
| && ar[2].i == 2 | |
| && ar[3].i == 3 | |
| && ar[4].i == 10); | |
| } | |
| #define SA(X) static_assert((X),#X) | |
| SA(f()); |