| /* PR c/60087 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-Wsign-compare" } */ |
| |
| void |
| foo (unsigned int ui, int i) |
| { |
| const unsigned char uc = 0; |
| _Bool b; |
| b = 0 != ~uc; /* { dg-warning "9:promoted bitwise complement of an unsigned value is always nonzero" } */ |
| b = 2 != ~uc; /* { dg-warning "9:comparison of promoted bitwise complement of an unsigned value with constant" } */ |
| b = uc == ~uc; /* { dg-warning "10:comparison of promoted bitwise complement of an unsigned value with unsigned" } */ |
| b = i == ui; /* { dg-warning "9:comparison of integer expressions of different signedness" } */ |
| } |