This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]