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