aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr82244.c
blob: 3b385f97658c4f23bfdc89484b910c6da374d876 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* { dg-do compile } */

typedef struct a {
  struct a *b;
} a;

extern int d(void);
extern int g(void);
extern int h(void);
extern int _setjmp(void *);

int c(void)
{
  1 ? d() : 0;

  a *e;
  while (e) {
      e = (e == (a *) c) ? 0 : e->b;
      while (e) {
	  int f = 0;
	  g();
	  if (_setjmp(0)) {
	      if (f & 6) {
		  ;
	      } else if (f & 2) {
		  h();
	      }
	  }
      }
  }
}