1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ #include <setjmp.h> extern int bar (unsigned int *); extern jmp_buf *baz (void); struct C { int c1; }; void foo (struct C *x, int *z, int e) { unsigned int d = 0; long f; setjmp (*baz()); f = 1 + ~d; d = 8; if ((!0) && !e && bar(z)) *z = 1 + f; }