aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/debug/vta-2.c
blob: 5d44262ec76fbe803beb5d24ff01f7be0f18a91b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* { dg-do compile } */

static int
bar (void *a, unsigned int b, int n)
{
  int c = *(unsigned long *) a % b;
  *(unsigned long *) a = (int) (*(unsigned long *) a) / b;
  return c;
}

int
foo (unsigned long x, int *y, int z)
{
  int level;
  for (level = 0; level < *y; level++)
    {
      bar (&x, z, sizeof (x));
      if (x)
	return *y - 1;
    }
}