OSDN Git Service

Correct conversion/overflow behavior.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / warn / overflow-warn-5.C
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
9 unsigned char rx_async(unsigned char p) {
10     return p & 512; /* { dg-warning "" "" { xfail *-*-* } } */
11 }