1 /* { dg-do compile } */ 2 /* { dg-require-effective-target nonlocal_goto } */ 3 4 #include <setjmp.h> 5 6 jmp_buf a; 7 int b, d; 8 void baz (long); 9 10 static void bar(long * x)11bar (long *x) 12 { 13 if (d) 14 *x = b; 15 } 16 17 void foo()18foo () 19 { 20 baz (0); 21 if (setjmp (a)) 22 { 23 long c; 24 bar (&c); 25 baz (c); 26 } 27 baz (0); 28 } 29