1 /* { dg-do compile } */ 2 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ 3 /* { dg-options "-fdump-tree-fre1" } */ 4 5 struct S { int i; void *p; int j; }; 6 int foo(struct S * __restrict p,int * q,int flag)7foo (struct S * __restrict p, int *q, int flag) 8 { 9 int *x = &p->j; 10 if (flag) 11 x = &p->i; 12 *q = 1; 13 *x = 2; 14 return *q; 15 } 16 17 /* { dg-final { scan-tree-dump "return 1;" "fre1" } } */ 18