[Bug c++/52320] missing destructor call after thrown exception in initializer

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 19 14:07:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52320

--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Thu Dec 19 14:07:22 2019
New Revision: 279577

URL: https://gcc.gnu.org/viewcvs?rev=279577&root=gcc&view=rev
Log:
        PR c++/52320 - EH cleanups for partially constructed arrays.

This testcase wasn't fixed by the 66139 patch; split_nonconstant_init_1 was
failing to add a cleanup for an array member of a class (e.g. e1) that will
run if initializing a later member (e.g. e2) throws.

        * typeck2.c (split_nonconstant_init_1): Add nested parm.
        Add cleanup for whole array if true.

Added:
    trunk/gcc/testsuite/g++.dg/eh/aggregate1.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/typeck2.c


More information about the Gcc-bugs mailing list