1  int x;
       2  
       3  void __attribute__((noinline)) foo (void)
       4  {
       5    x = -x;
       6  }
       7  void __attribute__((const,noinline)) bar (void)
       8  {
       9  }
      10  
      11  int __attribute__((noinline))
      12  test (int c)
      13  {
      14    int tmp = x;
      15    (c ? foo : bar) ();
      16    return tmp + x;
      17  }
      18  
      19  extern void abort (void);
      20  int main()
      21  {
      22    x = 1;
      23    if (test (1) != 0)
      24      abort ();
      25    return 0;
      26  }