1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fcompare-debug" } */
3 
4 struct S { int a; };
5 struct T { int b, c; } a;
6 long b;
7 int c, d;
8 void bar (int, int);
9 void baz (void *, int);
10 
11 void
foo(struct S * x,int y,int z,void * f,int * p,struct T * e)12 foo (struct S *x, int y, int z, void *f, int *p, struct T *e)
13 {
14   while (x)
15     {
16       baz (f, &d > p);
17       if (z & 1)
18         bar (f > (void *) &f, z);
19     }
20   if (c)
21     {
22       asm ("" : "+m" (a) : "i" (0));
23       y--;
24     }
25   if (e->b == e->c)
26     c = y;
27   y--;
28 }
29