/* Origin: PR c/2618 from Cesar Eduardo Barros , adapted to a testcase by Joseph Myers . Boolean conversions were causing infinite recursion between convert and fold in certain cases. */ #include bool x; unsigned char y; void fn (void) { x = y & 0x1 ? 1 : 0; }