]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/tree-ssa/alias-16.c
2009-04-03 Richard Guenther <rguenther@suse.de>
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / alias-16.c
1 /* { dg-do run } */
2
3 extern void abort (void);
4
5 struct X {
6 int a;
7 struct Y {
8 int b[4];
9 } b;
10 struct Y c;
11 } m;
12
13 struct X n;
14
15 foo (int i)
16 {
17 struct Y *p = (i > 10) ? &m.b : &n.c;
18 p->b[2] = 10;
19 m.b.b[3] = 6;
20 n.c.b[2] = 3;
21 return p->b[2] + n.c.b[2] + m.b.b[3];
22 }
23
24 main()
25 {
26 if (foo (3) != 12)
27 abort ();
28 return 0;
29 }