http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46336
Summary: [C++0X] ICE on invalid: in register_constexpr_fundef, at cp/semantics.c:5571 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: marc.gli...@normalesup.org This is an ICE on invalid code that I hit while trying to reduce an example for a more important bug. extern "C" { enum A { }; inline constexpr A f(A a, A b) { return A(static_cast<int>(a) & static_cast<int>(b)); } enum B { }; inline constexpr B f(B a, B b) { return B(static_cast<int>(a) & static_cast<int>(b)); } } 4.cc: In function ‘constexpr B f(B, B)’: 4.cc:8:13: error: declaration of C function ‘constexpr B f(B, B)’ conflicts with 4.cc:4:3: error: previous declaration ‘constexpr A f(A, A)’ here 4.cc: In function ‘constexpr B f(B, B)’: 4.cc:9:58: internal compiler error: in register_constexpr_fundef, at cp/semantics.c:5571