1  /* { dg-do run } */
       2  /* { dg-options "" } */
       3  /* { dg-options "-O0 -mtune=i386 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
       4  
       5  __attribute__((noreturn,noinline)) void abrt (const char *fi, const char *fu)
       6  {
       7    __builtin_abort ();
       8  }
       9  
      10  __attribute__((noinline)) int f (int k)
      11  {
      12    return k;
      13  }
      14  
      15  __attribute__((noinline)) int g (int t, int k)
      16  {
      17    int b;
      18  
      19    switch (t)
      20      {
      21      case 0:
      22        abrt (__FILE__, __FUNCTION__);
      23  
      24      case 1:
      25        b = f (k);
      26        break;
      27  
      28      case 2:
      29        b = f (k);
      30        break;
      31  
      32      case 3:
      33        b = f (k);
      34        break;
      35  
      36      case 4:
      37        b = f (k);
      38        break;
      39  
      40      default:
      41        abrt (__FILE__, __FUNCTION__);
      42      }
      43  
      44    return b;
      45  }
      46  
      47  int main (void)
      48  {
      49    if (g (3, 1337) != 1337)
      50        abrt (__FILE__, __FUNCTION__);
      51    return 0;
      52  }