https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98642
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:506fcfdb12562e829448e2b2eff475c65986e26b commit r10-9312-g506fcfdb12562e829448e2b2eff475c65986e26b Author: Jason Merrill <ja...@redhat.com> Date: Wed Jan 13 13:27:06 2021 -0500 c++: Avoid redundant copy in {} init [PR98642] Here, initializing from { } implies a call to the default constructor for base. We were then seeing that we're initializing a base subobject, so we tried to copy the result of that call. This is clearly wrong; we should initialize the base directly from its default constructor. gcc/cp/ChangeLog: PR c++/98642 * typeck2.c (split_nonconstant_init_1): Don't copy a list-init constructor call. gcc/testsuite/ChangeLog: PR c++/98642 * g++.dg/cpp1z/elide5.C: New test.