http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46348
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2010-11-07 19:07:45 UTC --- This: template<__SIZE_TYPE__ _Nw> struct _Base { typedef unsigned long _WordT; _WordT _M_w[_Nw]; constexpr _Base() : _M_w() { } }; int main() { _Base<256> bs; } t2.C: In function ‘int main()’: t2.C:15:14: in constexpr expansion of ‘bs._Base<_Nw>::_Base [with long unsigned int _Nw = 256ul]()’ t2.C:15:14: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have integer_type in build_special_member_call, at cp/call.c:6342