diff options
author | Aaron Merey <amerey@redhat.com> | 2024-01-19 11:20:19 -0500 |
---|---|---|
committer | Aaron Merey <amerey@redhat.com> | 2024-01-19 12:18:58 -0500 |
commit | 9323e42f586b753bf0e4e0dfc267ca00b948f448 (patch) | |
tree | dfe8d8f11cad832897e22fddfe7cb40aabb5f84f /gdb | |
parent | 92517d01fe5b4286b2dcb04cfcda0a2b5bd52adb (diff) | |
download | gdb-9323e42f586b753bf0e4e0dfc267ca00b948f448.zip gdb-9323e42f586b753bf0e4e0dfc267ca00b948f448.tar.gz gdb-9323e42f586b753bf0e4e0dfc267ca00b948f448.tar.bz2 |
gdb/ui-out.h: Fix exception handling in do_with_buffered_output
Replace throw with throw_exeception in do_with_buffered_output.
This patch fixes regressions in gdb.dwarf2/dw2-dir-file-name.exp
caused by commit 519d63439.
do_with_buffered_output needs to use throw_exception instead of
throw to ensure that exceptions of the correct type are thrown.
If using throw, gdb_exception_error may be wrongly converted into
gdb_exception during print_frame_info. This prevents the exception
from being caught in print_stack_frame.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ui-out.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/ui-out.h b/gdb/ui-out.h index 71add90..5b6ddd5 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -543,7 +543,7 @@ do_with_buffered_output (F func, ui_out *uiout, Arg... args) { func (uiout, std::forward<Arg> (args)...); } - catch (const gdb_exception &ex) + catch (gdb_exception &ex) { /* Ideally flush would be called in the destructor of buffer_group, however flushing might cause an exception to be thrown. Catch it @@ -556,7 +556,7 @@ do_with_buffered_output (F func, ui_out *uiout, Arg... args) { } - throw (std::move (ex)); + throw_exception (std::move (ex)); } /* Try was successful. Let any further exceptions propagate. */ |