https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414
--- Comment #1 from Tom Tromey <tromey at gcc dot gnu.org> --- Jonathan pointed out that this is not really a bug because an enumeration with a fixed underlying type has a different definition of its underlying values. However, the bug still exists if the underlying type is not fixed: enum class K { V = 27 }; struct S { K v : 6; }; barimba. g++ --syntax-only -pedantic -std=c++11 /tmp/q.cc /tmp/q.cc:6:9: warning: ‘S::v’ is too small to hold all values of ‘enum class K’ [enabled by default] K v : 6; ^