Re: [PATCH 28/40] use explicit returns to avoid checker confusion

Tom Tromey
2013-05-24T15:41:57Z

Tom> I think the patch series needs to be rebased. This function's got
Tom> changed as part of the Python reference counting series. I'll fix it up
Tom> and re-send modified patches soon, probably next week.

I rebased today and this was the only patch requiring a fix.

Here is the new version.

Tom

* 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.

diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c
index eaa1bc5..87f1fdc 100644
--- a/gdb/python/py-breakpoint.c
+++ b/gdb/python/py-breakpoint.c
@@ -492,7 +492,8 @@ bppy_get_commands (PyObject *self, void *closure)
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);
diff --git a/gdb/python/py-frame.c b/gdb/python/py-frame.c
index 2615ddf..f960b08 100644
--- a/gdb/python/py-frame.c
+++ b/gdb/python/py-frame.c
@@ -477,7 +477,8 @@ frapy_read_var (PyObject *self, PyObject *args)
if (except.reason < 0)
{
do_cleanups (cleanup);
- GDB_PY_HANDLE_EXCEPTION (except);
+ gdbpy_convert_exception (except);
+ return NULL;
}

if (!var)
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 690534f..c94198e 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -653,7 +653,8 @@ gdbpy_decode_line (PyObject *self, PyObject *args)
{
do_cleanups (cleanups);
/* We know this will always throw. */
- GDB_PY_HANDLE_EXCEPTION (except);
+ gdbpy_convert_exception (except);
+ return NULL;
}

if (sals.nelts)