1 /* { dg-do run } */
2 /* { dg-options "-O3 -fno-strict-aliasing" } */
3 
4 extern void exit (int);
5 extern void abort (void);
6 
7 struct foos { int l; };
8 int foo;
9 static struct foos *getfoo(void);
main(void)10 int main (void)
11 {
12   struct foos *f = getfoo();
13   f->l = 1;
14   foo = 2;
15   if (f->l == 1)
16     abort();
17   exit(0);
18 }
getfoo(void)19 static struct foos *getfoo(void)
20 { return (struct foos *)&foo; }
21