/* PR debug/43670 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O -ftree-vrp -fcompare-debug" } */ | |
extern void abort (void); | |
typedef struct { double T1; } S; | |
void | |
foo (void) | |
{ | |
int i, j; | |
double s; | |
S y[2][2]; | |
S *x[2] = { y[0], y[1] }; | |
S **p = x; | |
for (i = 0; i < 2; i++) | |
for (j = 0; j < 2; j++) | |
p[j][i].T1 = 1; | |
for (i = 0; i < 2; i++) | |
for (j = 0; j < 2; j++) | |
s = p[j][i].T1; | |
if (s != 1) | |
abort (); | |
} |