[Bug c++/81438] silent bad code generation with computed goto exit from catch block

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 22 03:18:11 GMT 2023


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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:2488771b6dc6b05bfdc68dbd6b7bbe0489c8dad0

commit r14-6799-g2488771b6dc6b05bfdc68dbd6b7bbe0489c8dad0
Author: Jason Merrill <jason@redhat.com>
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.


More information about the Gcc-bugs mailing list