(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20070517-1.c
       1  /* PR rtl-optimization/31691 */
       2  /* Origin: Chi-Hua Chen <stephaniechc-gccbug@yahoo.com> */
       3  
       4  extern void abort (void);
       5  
       6  static int get_kind(int) __attribute__ ((noinline));
       7  
       8  static int get_kind(int v)
       9  {
      10    volatile int k = v;
      11    return k;
      12  }
      13  
      14  static int some_call(void) __attribute__ ((noinline));
      15  
      16  static int some_call(void)
      17  {
      18    return 0;
      19  }
      20  
      21  static void example (int arg)
      22  {
      23    int tmp, kind = get_kind (arg);
      24  
      25    if (kind == 9 || kind == 10 || kind == 5)
      26      {
      27        if (some_call() == 0)
      28          {
      29            if (kind == 9 || kind == 10)
      30              tmp = arg;
      31            else
      32              abort();
      33          }
      34      }
      35  } 
      36  
      37  int main(void)
      38  {
      39    example(10);
      40    return 0;
      41  }