1 /* PR tree-optimization/33136 */
3 /* { dg-options "-O2" } */
5 extern void abort (void);
18 __attribute__((noinline
, const))
25 __attribute__((noinline
))
30 /* As nothing ever takes the address of any double * field in struct S,
31 the write to *f can't alias with the s.c field. */
36 __attribute__((noinline
))
41 /* Function foo takes address of an int array field in struct S,
42 so *x can alias with the s.b field (and it does in this testcase). */
47 __attribute__((noinline
))
50 double *f
= (double *) 0;
51 return 10 * (bar (&f
) != &d
) + baz (foo ());