https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115173
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-05-21 Keywords| |diagnostic, | |ice-on-invalid-code, | |memory-hog Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- I'm marking this as ice-on-invalid-code, even though it gets killed rather than ICE-ing. But it is invalid. The summary seems misleading, there are no nested initializer lists here. It's just syntactically ill-formed code with mismatched braces and parentheses. And most of the functions are irrelevant to the exponential code. Reduced: #include <initializer_list> struct string { string(std::initializer_list<char>) { } }; void j() { string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(string(>) { } }; } This seems like auto-generated garbage, not something anybody would ever write by accident, so should be very low priority.