https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120413
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- Technically, this is a [12/13/14/15/16 Regressions], unsurprising as the code has been added in GCC 12. * * * The resulting code for the target regions like: struct array arr; <<cleanup_point ... lots of code ... >>>>>; try { } finally { array::~array (&arr); } [Where cleanup_point contains some try-catch calls for the constructor (and destructor), which expanded also wrap around the try-finally block.]