1 /* PR debug/46387 */
2 /* { dg-do compile } */
3 /* { dg-options "-g -O2" } */
4 
5 struct S { double x; double y; short z; };
6 int a = 0, b = 0, c;
7 void bar (int, int, int);
8 void baz (int *, int *, int *);
9 
10 void
foo(struct S * v)11 foo (struct S *v)
12 {
13   int x, y, z;
14   if (!a && b != 0)
15     return;
16   if (v->z)
17     baz (&x, &y, &z);
18   else
19     {
20       x = v->x;
21       y = v->y;
22     }
23   x = x / (5 + 1);
24   y = y / (5 + 1);
25   if (x < 0)
26     x = 0;
27   if (x > c - 1)
28     x = c - 1;
29   if (b == 0)
30     bar (x, y, 1);
31   return;
32 }
33