1 /* { dg-do compile } */
2 /* { dg-require-effective-target indirect_jumps } */
3 /* { dg-require-effective-target label_values } */
4 
5 typedef __INTPTR_TYPE__ intptr_t;
6 intptr_t a, b, c, d;
foo(void)7 int foo (void) { return 0; }
8 int baz (void);
9 
10 void
bar(void)11 bar (void)
12 {
13   intptr_t g = (intptr_t) &&h;
14   void *i = &&j, *k = &&l;
15 j:
16   if (baz ())
17     {
18       intptr_t **n = (intptr_t **) &a;
19 l:
20       b = 0;
21       for (; b >= 0;)
22 	goto *k;
23 h:
24       **n = 0;
25       for (;;)
26 	{
27 	  intptr_t *o = &c;
28 	  g = foo ();
29 	  *o = g;
30 	  if (c)
31 	    goto *d;
32 	}
33     }
34   goto *i;
35 }
36