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)7int foo (void) { return 0; } 8 int baz (void); 9 10 void bar(void)11bar (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