modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr51447.c (about)

     1  /* PR rtl-optimization/51447 */
     2  /* { dg-require-effective-target label_values } */
     3  /* { dg-require-effective-target indirect_jumps } */
     4  
     5  extern void abort (void);
     6  
     7  #ifdef __x86_64__
     8  register void *ptr asm ("rbx");
     9  #else
    10  void *ptr;
    11  #endif
    12  
    13  int
    14  main (void)
    15  {
    16    __label__ nonlocal_lab;
    17    __attribute__((noinline, noclone)) void
    18      bar (void *func)
    19        {
    20  	ptr = func;
    21  	goto nonlocal_lab;
    22        }
    23    bar (&&nonlocal_lab);
    24    return 1;
    25  nonlocal_lab:
    26    if (ptr != &&nonlocal_lab)
    27      abort ();
    28    return 0;
    29  }