// 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;
}