1  /* { dg-do compile } */
       2  /* { dg-require-effective-target nonlocal_goto } */
       3  
       4  long buf[5];
       5  int bar (void);
       6  
       7  int
       8  foo (int x)
       9  {
      10    int y = __builtin_setjmp (buf);
      11    while (x != 3 && x && x && x != 2)
      12      x = bar ();
      13    return y;
      14  }