| // PR c++/30274 |
| // { dg-do run { target c++14_down } } |
| // { dg-do compile { target c++17 } } |
| |
| struct S { |
| bool x : 4; |
| }; |
| |
| S s; |
| |
| int main() { |
| s.x++; // { dg-warning "5:use of an operand of type .bool. in .operator\\+\\+. is deprecated" "" { target { ! c++17 } } } |
| // { dg-error "forbidden" "" { target c++17 } .-1 } |
| if (s.x != 1) |
| return 1; |
| ++s.x; // { dg-warning "7:use of an operand of type .bool. in .operator\\+\\+. is deprecated" "" { target { ! c++17 } } } |
| // { dg-error "forbidden" "" { target c++17 } .-1 } |
| if (s.x != 1) |
| return 2; |
| } |