1/* { dg-do compile } */ 2/* { dg-options "-O2 -Wall" } */ 3/* { dg-require-effective-target indirect_jumps } */ 4 5#include <setjmp.h> 6 7struct node 8{ 9 struct node *next; 10 char *name; 11} *list; 12 13struct node *list; 14struct node *head (void); 15 16jmp_buf *bar (void); 17 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