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

     1  /* PR tree-optimization/49161 */
     2  
     3  extern void abort (void);
     4  
     5  int c;
     6  
     7  __attribute__((noinline, noclone)) void
     8  bar (int x)
     9  {
    10    if (x != c++)
    11      abort ();
    12  }
    13  
    14  __attribute__((noinline, noclone)) void
    15  foo (int x)
    16  {
    17    switch (x)
    18      {
    19      case 3: goto l1;
    20      case 4: goto l2;
    21      case 6: goto l3;
    22      default: return;
    23      }
    24  l1:
    25    goto l4;
    26  l2:
    27    goto l4;
    28  l3:
    29    bar (-1);
    30  l4:
    31    bar (0);
    32    if (x != 4)
    33      bar (1);
    34    if (x != 3)
    35      bar (-1);
    36    bar (2);
    37  }
    38  
    39  int
    40  main ()
    41  {
    42    foo (3);
    43    if (c != 3)
    44      abort ();
    45    return 0;
    46  }