(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr63748.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -Wall" } */
       3  /* { dg-require-effective-target nonlocal_goto } */
       4  
       5  #include <setjmp.h>
       6  
       7  jmp_buf *alloc_jmp_buf ();
       8  int foo (void *);
       9  
      10  int
      11  test (int op, int noside)
      12  {
      13    void *argvec = 0;
      14  
      15    if (op)
      16      {
      17        jmp_buf *buf = alloc_jmp_buf (); /* { dg-bogus "uninitialized" } */
      18        setjmp (*buf);
      19  
      20        if (noside)
      21          goto nosideret;
      22  
      23      do_call_it:
      24  
      25        if (noside)
      26          goto nosideret;
      27  
      28        return foo (argvec);
      29      }
      30  
      31    argvec = __builtin_alloca (1);
      32    goto do_call_it;
      33  
      34  nosideret:
      35    return 1;
      36  }
      37