1  /* { dg-do compile } */
       2  
       3  static int
       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
      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  }