/* { dg-do run } */ | |
extern void abort (void); | |
struct X { | |
int a; | |
struct Y { | |
int b[4]; | |
} b; | |
struct Y c; | |
} m; | |
struct X n; | |
foo (int i) | |
{ | |
struct Y *p = (i > 10) ? &m.b : &n.c; | |
p->b[2] = 10; | |
m.b.b[3] = 6; | |
n.c.b[2] = 3; | |
return p->b[2] + n.c.b[2] + m.b.b[3]; | |
} | |
main() | |
{ | |
if (foo (3) != 12) | |
abort (); | |
return 0; | |
} |