The checker does not understand the idiom
if (except.reason < 0) {
do_cleanups (whatever);
GDB_PY_HANDLE_EXCEPTION (except);
}
because it doesn't realize that the nested 'if' actually has the same
condition.
This fixes instances of this to be more explicit.
* python/py-breakpoint.c (bppy_get_commands): Use
explicit, unconditional return.
* python/py-frame.c (frapy_read_var): Likewise.
* python/python.c (gdbpy_decode_line): Likewise.
+2013-05-30 Tom Tromey <tromey@redhat.com>
+
+ * python/py-breakpoint.c (bppy_get_commands): Use
+ explicit, unconditional return.
+ * python/py-frame.c (frapy_read_var): Likewise.
+ * python/python.c (gdbpy_decode_line): Likewise.
+
2013-05-30 Tom Tromey <tromey@redhat.com>
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
if (except.reason < 0)
{
do_cleanups (chain);
- GDB_PY_HANDLE_EXCEPTION (except);
+ gdbpy_convert_exception (except);
+ return NULL;
}
cmdstr = ui_file_xstrdup (string_file, &length);
if (except.reason < 0)
{
do_cleanups (cleanup);
- GDB_PY_HANDLE_EXCEPTION (except);
+ gdbpy_convert_exception (except);
+ return NULL;
}
if (!var)
{
do_cleanups (cleanups);
/* We know this will always throw. */
- GDB_PY_HANDLE_EXCEPTION (except);
+ gdbpy_convert_exception (except);
+ return NULL;
}
if (sals.nelts)