summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/asmgoto-1.c
blob: cc34610aba7329ed2e09de0d56e726c49dd70afe (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
void fn (void);

void
foo (void *x, unsigned long y)
{
  asm goto ("": : : : lab);
lab:
  fn ();
}

static void
bar (unsigned long x)
{
  foo (0, x);
}

static void
baz (unsigned long x)
{
  if (x > 8192)
    bar (x);
  else
    ({ __here: (unsigned long) &&__here; });
}

void
test (void)
{
  baz (16384);
}