| // PR c++/77553 | |
| // { dg-do compile { target c++14 } } | |
| constexpr void | |
| bar (int *x) | |
| { | |
| int i = 0; | |
| x[i++] = 1; | |
| x[3] = i; | |
| } | |
| constexpr int | |
| foo () | |
| { | |
| int a[] = { 0, 0, 0, 0 }; | |
| bar (a); | |
| return a[0] + 8 * a[1] + 64 * a[2] + 512 * a[3]; | |
| } | |
| constexpr int b = foo (); | |
| int | |
| main () | |
| { | |
| static_assert (b == 513, ""); | |
| if (foo () != 513) | |
| __builtin_abort (); | |
| } |