https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83974
Bug ID: 83974
Summary: [8 Regression] ICE in cxx_eval_constant_expression
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
struct A {
typedef void (A::*B) ();
operator B ();
};
template <typename>
struct C {
void foo () { d == 0; }
A d;
};
ICEs on the trunk, likely starting with r256804.
Either constexpr.c needs to be taught to handle various
processing_template_decl only tree codes, or we should have caught it earlier,
like somewhere in is_nondependent_constant_expression or functions it calls.