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.

Reply via email to