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