c++: when delegating constructor throws [PR103711]
authorJason Merrill <jason@redhat.com>
Thu, 6 Jan 2022 00:39:48 +0000 (19:39 -0500)
committerJason Merrill <jason@redhat.com>
Fri, 7 Jan 2022 00:25:43 +0000 (19:25 -0500)
commit32d8ff73718fd07a9a7dfd2566d3b7b69f37b6bd
tree8a181e36328d7c23208fbd7237bd9b2a2524724d
parent6ad76e73375a9c00a0a5f5729ae70bce7a6db5bc
c++: when delegating constructor throws [PR103711]

We were always calling the complete destructor if the target constructor
throws, even if we were calling the base constructor.

PR c++/103711

gcc/cp/ChangeLog:

* init.c (perform_target_ctor): Select destructor by in_chrg.

gcc/testsuite/ChangeLog:

* g++.dg/eh/delegating1.C: New test.
gcc/cp/init.c
gcc/testsuite/g++.dg/eh/delegating1.C [new file with mode: 0644]