// PR81354 reported this test as crashing in a limited range of revisions. | |
// { dg-do compile } | |
struct T { double a; double b; }; | |
void foo(T Ad[], int As[2]) | |
{ | |
int j; | |
int i; | |
int Bs[2] = {0,0}; | |
T Bd[16]; | |
for (j = 0; j < 4; j++) { | |
for (i = 0; i + 1 <= j + 1; i++) { | |
Ad[i + As[0] * j] = Bd[i + Bs[0] * j]; | |
} | |
i = j + 1; // <- comment out this line and it does not crash | |
for (; i + 1 < 5; i++) { | |
Ad[i + As[0] * j].a = 0.0; | |
Ad[i + As[0] * j].b = 0.0; | |
} | |
} | |
} |