https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103091
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:b81785eacef2a28e17e17141fcd334f51640feec commit r14-563-gb81785eacef2a28e17e17141fcd334f51640feec Author: Patrick Palka <ppa...@redhat.com> Date: Sun May 7 12:09:03 2023 -0400 c++: goto entering scope of obj w/ non-trivial dtor [PR103091] It seems ever since DR 2256 goto is permitted to cross the initialization of a trivially initialized object with a non-trivial destructor. We already supported this as an -fpermissive extension, so this patch just makes us unconditionally support this. DR 2256 PR c++/103091 gcc/cp/ChangeLog: * decl.cc (decl_jump_unsafe): Return bool instead of int. Don't consider TYPE_HAS_NONTRIVIAL_DESTRUCTOR. (check_previous_goto_1): Simplify now that decl_jump_unsafe returns bool instead of int. (check_goto): Likewise. gcc/testsuite/ChangeLog: * g++.old-deja/g++.other/init9.C: Don't expect diagnostics for goto made valid by DR 2256. * g++.dg/init/goto4.C: New test.