| /* { dg-do compile } */ | |
| /* { dg-require-effective-target nonlocal_goto } */ | |
| #include <setjmp.h> | |
| jmp_buf a; | |
| int b, d; | |
| void baz (long); | |
| static void | |
| bar (long *x) | |
| { | |
| if (d) | |
| *x = b; | |
| } | |
| void | |
| foo () | |
| { | |
| baz (0); | |
| if (setjmp (a)) | |
| { | |
| long c; | |
| bar (&c); | |
| baz (c); | |
| } | |
| baz (0); | |
| } |