aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/label14.C
blob: 990673de67948bf7e2ae5767972fc8bc17190eed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// PR c++/53812
// { dg-do compile }
// { dg-options "" }
// { dg-require-effective-target indirect_jumps }

struct T { T () : t(0) {}; int t; ~T (); };
struct S { void *operator [] (T); };
void bar (S &, void *, void *);

void
foo (S &x, T &y)
{
  bar (x, &&l1, &&l2);
l1:
  goto *x[y];
l2:
  bar (x, &&l1, &&l2);
}