http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46341
Summary: [C++0X] ICE: in cxx_eval_vec_init_1, at cp/semantics.c:6362 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org The following code causes an ICE, but compiles fine if I remove constexpr. template<class _T2> struct pair { _T2 second; constexpr pair() : second() {} }; template<typename _Tp, int _Nm> struct array { _Tp _M_instance[_Nm]; }; struct Periodic_3_offset_3 { Periodic_3_offset_3() {} typedef array< pair<Periodic_3_offset_3>, 2> Periodic_segment; Periodic_segment dual() { Periodic_segment ps; } }; 3.cc: In member function ‘Periodic_3_offset_3::Periodic_segment Periodic_3_offset_3::dual()’: 3.cc:16:20: in constexpr expansion of ‘ps.array<pair<Periodic_3_offset_3>, 2>::array()’ 3.cc:16:20: internal compiler error: in cxx_eval_vec_init_1, at cp/semantics.c:6362