1 /* { dg-do compile } */
2 
3 static int
bar(void * a,unsigned int b,int n)4 bar (void *a, unsigned int b, int n)
5 {
6   int c = *(unsigned long *) a % b;
7   *(unsigned long *) a = (int) (*(unsigned long *) a) / b;
8   return c;
9 }
10 
11 int
foo(unsigned long x,int * y,int z)12 foo (unsigned long x, int *y, int z)
13 {
14   int level;
15   for (level = 0; level < *y; level++)
16     {
17       bar (&x, z, sizeof (x));
18       if (x)
19 	return *y - 1;
20     }
21 }
22