//PR c++/28053 struct X {}; struct A { X x : 2; // { dg-error "non-integral type" } }; struct B : A {}; template struct C { T t : 3; }; C c; template struct D { T t : 3; // { dg-error "non-integral type" } }; D d; // { dg-message "required" } template struct E { typedef T* U; U t : 3; // { dg-error "non-integral type" } }; E e;