(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
expr/
bitfield4.C
// PR c++/30274
// { dg-do link }

struct S {
  bool x : 4;
};

S s;

template <typename T>
void f(T);

template <>
void f(bool) {} 

int main() {
  f(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 }
  f(++s.x); // { dg-warning "9:use of an operand of type .bool. in .operator\\+\\+. is deprecated" "" { target { ! c++17 } } }
  // { dg-error "forbidden" "" { target c++17 } .-1 }
}