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