aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr105163.c
blob: 23e04107f683cea7be9707017ca3e1d4960fb1d1 (plain)
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;
}