https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102586
--- Comment #22 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #21) > This patch implements the rejection of pointers to non-trivially-copyable > types with the exception of &var or &parm, because in those cases we know it > is complete object type and so don't need to worry about it being just a > subobject. OK. I wonder why -fauto-var-init uses builtin_clear_padding instead of just zero-initializing the whole object before normal initialization, as with value-initialization? With a new object we don't need to get clever.