https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100495
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 51415 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51415&action=edit gcc12-pr100495.patch The easiest fix seems to be to just remember the deleting dtor bodies and constexpr evaluating them, they are quite special anyway, as they are created by build_delete_destructor_body and essentially contain just two calls, so there is no user code in those and thus practically they aren't really clones of those user functions - they just call some other dtor fndecl (with the user code in it) and delete.