Re: [patch] [python] Use TRY_CATCH in some functions.

Tom Tromey
2011-10-11T17:30:34Z

>>>>> "Phil" == Phil Muldoon <pmuldoon@redhat.com> writes:

Phil> After fixing the bugs related to py-value.c not using TRY_CATCH in some
Phil> cases, I decided to take a look at the rest of the Python files. I
Phil> caught a few others too.

Thanks for doing this.

Phil> @@ -624,20 +625,31 @@ typy_lookup_type (struct demangle_component *demangled,
[...]

Phil> + if (except.reason < 0)
Phil> + {
Phil> + PyErr_Format (except.reason == RETURN_QUIT
Phil> + ? PyExc_KeyboardInterrupt : PyExc_RuntimeError,
Phil> + "%s", except.message);
Phil> + return NULL;

Why not GDB_PY_HANDLE_EXCEPTION here?
(And also fix up typy_lookup_typename to do the same.)

Phil> @@ -990,8 +1002,16 @@ typy_richcompare (PyObject *self, PyObject *other, int op)
[...]
Phil> + {
Phil> + bcache_xfree (cache);
Phil> + VEC_free (type_equality_entry_d, worklist);
Phil> + GDB_PY_HANDLE_EXCEPTION (except);

I think the freeing should be hoisted above the exception check, to
consolidate the code. With the current patch the code is duplicated on
both branches.

Otherwise this look good.

Tom