From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id B147B384772F; Fri, 22 Dec 2023 03:18:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B147B384772F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1703215091; bh=WhO3wZXEDSAomVASTSXHV22G61ms6qmmhIEyj1B0u9g=; h=From:To:Subject:Date:In-Reply-To:References:From; b=UYZCUsseNaMFN6utoew4MhJuUfR+4cZYHvvG0KKnYh5TTuVIRWC6AcbuPqiMlCv/z aRmHrmN4B/ExjK+e9MZ18JDPqPqDS0OhuIzZSWOwFkD6miq4c+riBz6DC5jNc4sRJK /WKJ3O+/FP5XzE5Or/i6y5P0BQAlfLwIJevXWwG4= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/81438] silent bad code generation with computed goto exit from catch block Date: Fri, 22 Dec 2023 03:18:11 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 7.1.0 X-Bugzilla-Keywords: accepts-invalid, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D81438 --- Comment #1 from GCC Commits --- The trunk branch has been updated by Jason Merrill : https://gcc.gnu.org/g:2488771b6dc6b05bfdc68dbd6b7bbe0489c8dad0 commit r14-6799-g2488771b6dc6b05bfdc68dbd6b7bbe0489c8dad0 Author: Jason Merrill Date: Wed Dec 20 21:34:49 2023 -0500 c++: computed goto from catch block [PR81438] As with 37722, we don't clean up the exception object if a computed goto leaves a catch block, but we can warn about that. PR c++/81438 gcc/cp/ChangeLog: * decl.cc (poplevel_named_label_1): Handle leaving catch. (check_previous_goto_1): Likewise. (check_goto_1): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/label15.C: Require indirect_jumps. * g++.dg/ext/label16.C: New test.=