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: [email protected]
ReportedBy: [email protected]
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