http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52130
Bug #: 52130 Summary: missing check for matching underlying type during instantiation of enum member of class template Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: richard-gccbugzi...@metafoo.co.uk g++ incorrectly accepts this code in c++11 mode: template<typename T> struct S { enum E : int; }; template<typename T> enum S<T>::E : T { e }; S<char>::E x = S<char>::e;