/* { dg-do compile } */ | |
/* { dg-options "-O2 -Wall" } */ | |
/* { dg-require-effective-target indirect_jumps } */ | |
#include <setjmp.h> | |
struct node | |
{ | |
struct node *next; | |
char *name; | |
} *list; | |
struct node *list; | |
struct node *head (void); | |
jmp_buf *bar (void); | |
int baz (void) | |
{ | |
struct node *n; | |
int varseen = 0; | |
list = head (); | |
for (n = list; n; n = n->next) | |
{ | |
if (!varseen) | |
varseen = 1; | |
jmp_buf *buf = bar (); /* { dg-bogus "may be used uninitialized" } */ | |
setjmp (*buf); | |
} | |
if (!varseen) | |
return 0; | |
return 1; | |
} |