OSDN Git Service

Fix PR40886.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / lto / 20090812_1.c
1 /* struct X is complete in this TU, this causes us to not merge Y and
2    thus assign different alias-sets to them.  */
3 struct X
4 {
5   int i;
6 };
7 struct Y
8 {
9   struct X *p;
10   int i;
11 };
12 extern void abort (void);
13 extern void foo(struct Y *);
14 int __attribute__((noinline)) bar(struct Y *p)
15 {
16   p->i = 0;
17   foo (p);
18   return p->i;
19 }
20 int main()
21 {
22   struct Y y;
23   if (bar (&y) != 1)
24     abort ();
25   return 0;
26 }