/* { dg-do compile } */ /* { dg-require-effective-target nonlocal_goto } */ #include 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; }