aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-08-22 09:49:53 +0200
committerTom de Vries <tdevries@suse.de>2024-08-22 09:49:53 +0200
commit365b32b9c7792cb5fb67c658ea28b1c3a7a8ef71 (patch)
treeba299be3bbeba176ed60e06c8519a9757f6d894d /gdb/python
parent78125417227bd3f3765ba52d04066f8607d62f44 (diff)
downloadbinutils-365b32b9c7792cb5fb67c658ea28b1c3a7a8ef71.zip
binutils-365b32b9c7792cb5fb67c658ea28b1c3a7a8ef71.tar.gz
binutils-365b32b9c7792cb5fb67c658ea28b1c3a7a8ef71.tar.bz2
[gdb/python] Eliminate catch(...) in type_to_type_object
In type_to_type_object we have: ... try { if (type->is_stub ()) type = check_typedef (type); } catch (...) { /* Just ignore failures in check_typedef. */ } ... The catch is supposed to ignore gdb_exception_error, but it ignores any exception. Fix that by only ignoring gdb_exception_error, and handling gdb_exception_quit / gdb_exception_forced_quit using GDB_PY_HANDLE_EXCEPTION. Tested on x86_64-linux. Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/py-type.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
index 863e6f6..c13b861 100644
--- a/gdb/python/py-type.c
+++ b/gdb/python/py-type.c
@@ -1465,10 +1465,14 @@ type_to_type_object (struct type *type)
if (type->is_stub ())
type = check_typedef (type);
}
- catch (...)
+ catch (const gdb_exception_error &)
{
/* Just ignore failures in check_typedef. */
}
+ catch (const gdb_exception &except)
+ {
+ GDB_PY_HANDLE_EXCEPTION (except);
+ }
type_obj = PyObject_New (type_object, &type_object_type);
if (type_obj)