modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/pr24135.c (about)

     1  #ifndef NO_TRAMPOLINES
     2  extern void abort (void);
     3  
     4  int x(int a, int b)
     5  {
     6    __label__ xlab;
     7    __label__ xlab2;
     8  
     9    void y(int b)
    10      {
    11         switch (b)
    12          {
    13            case 1: goto xlab;
    14            case 2: goto xlab;
    15          }
    16      }
    17  
    18    a = a + 2;
    19    y (b);
    20  
    21   xlab:
    22    return a;
    23  
    24   xlab2:
    25    a++;
    26    return a;
    27  
    28  }
    29  
    30  int main ()
    31  {
    32    int i, j;
    33  
    34    for (j = 1; j <= 2; ++j)
    35      for (i = 1; i <= 2; ++i)
    36        {
    37  	int a = x (j, i);
    38  	if (a != 2 + j)
    39  	  abort ();
    40        }
    41  
    42    return 0;
    43  }
    44  #else
    45  int main() { return 0; }
    46  #endif