summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr51071.c
blob: 99af9587d055a7c6f04ea31c3ef4017284064852 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* { dg-do compile } */

void foo (void);
void bar (void *);
extern int t;

static void kmalloc_large (int size, int flags)
{
  (void) size;
  (void) flags;
  foo ();
  bar (({__here:&&__here;}));
}

static void kmalloc (int size, int flags)
{
  if (size)
    {
      if ((unsigned long) size > 0x1000)
	kmalloc_large (size, flags);

      if (flags)
	bar (({__here:&&__here;}));
    }
}

void compress_file_range (int i, int j, int k)
{
  int nr_pages = ({j < k;});

  if (i || t)
    kmalloc (0x1000UL * nr_pages, 0x40UL);
}