1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -Wall" } */ 3 /* { dg-require-effective-target indirect_jumps } */ 4 5 #include <setjmp.h> 6 7 struct node 8 { 9 struct node *next; 10 char *name; 11 } *list; 12 13 struct node *list; 14 struct node *head (void); 15 16 jmp_buf *bar (void); 17 baz(void)18int baz (void) 19 { 20 struct node *n; 21 int varseen = 0; 22 23 list = head (); 24 for (n = list; n; n = n->next) 25 { 26 if (!varseen) 27 varseen = 1; 28 29 jmp_buf *buf = bar (); /* { dg-bogus "may be used uninitialized" } */ 30 setjmp (*buf); 31 } 32 33 if (!varseen) 34 return 0; 35 return 1; 36 } 37