1 /* { dg-do compile } */
2 
3 typedef struct a {
4   struct a *b;
5 } a;
6 
7 extern int d(void);
8 extern int g(void);
9 extern int h(void);
10 extern int _setjmp();
11 extern int i(void);
12 
c(void)13 void c(void) {
14     1 ? d() : 0;
15     a *e;
16     while (e) {
17 	e = (e == (a *) c) ? 0 : e->b;
18 	while (e) {
19 	    unsigned int f = 0;
20 	    g();
21 	    _setjmp(f);
22 	    if (f & 6) {
23 		;
24 	    } else if (f & 2) {
25 		;
26 	    } else {
27 		h();
28 	    }
29 	    i();
30 	}
31     }
32 }
33