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

2024-01-12 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81438

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
 CC||jason at gcc dot gnu.org
   Target Milestone|--- |14.0

--- Comment #2 from Jason Merrill  ---
Diagnostic added for GCC 14.

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

2023-12-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81438

--- 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.