https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112658
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org Keywords|needs-bisection |wrong-code Status|NEW |ASSIGNED CC| |ppalka at gcc dot gnu.org --- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> --- The ICE-on-valid started with r12-2233-gb9119edc09e466, but before that this was wrong-code: bool called; struct foo{ foo(const int *new_mac) { called = true; } }; typedef int t[1]; int main() { foo f((int*)t{ 0xFC}); if (!called) __builtin_abort(); } If we do copy initialization instead of direct initialization then we ICE ever since the sanity check assert was added in r6-6795-g0fd9d4921f7ba2