https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116756
Bug ID: 116756 Summary: ICE from expand_expr_real_1 with recursive lambda and constexpr if Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ppalka at gcc dot gnu.org Target Milestone: --- Reduced from PR116682#c11, not a regression: struct Store { void openDF() { auto lambda = [this](auto& self, auto I) { if constexpr (sizeof(I) == 1) { auto next = [&self] { self(self, 42); }; openSeries(next); } }; lambda(lambda, 'c'); } template<class T> void openSeries(T) { } }; int main() { Store store; store.openDF(); } during RTL pass: expand <stdin>: In lambda function: <stdin>:6:19: internal compiler error: in expand_expr_real_1, at expr.cc:11405