1  /* Origin: PR c/2618 from Cesar Eduardo Barros <cesarb@nitnet.com.br>,
       2     adapted to a testcase by Joseph Myers <jsm28@cam.ac.uk>.
       3  
       4     Boolean conversions were causing infinite recursion between convert
       5     and fold in certain cases.  */
       6  
       7  #include <stdbool.h>
       8  
       9  bool x;
      10  unsigned char y;
      11  
      12  void
      13  fn (void)
      14  {
      15    x = y & 0x1 ? 1 : 0;
      16  }