1 /* PR c/27273 */ 2 /* { dg-do compile } */ 3 4 // This used to warn about "overflow in implicit constant conversion", 5 // which was wrong; 512 is never converted to unsigned char. Rather, an 6 // appropriate warning would be that the & expression always evaluates to 0 7 // because of the limited range of unsigned char. 8 rx_async(unsigned char p)9unsigned char rx_async(unsigned char p) { 10 return p & 512; /* { dg-warning "" "" { xfail *-*-* } } */ 11 } 12