From f3300387104722cbfcfc955bdacb474c7f33ba9e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 May 2013 17:30:03 +0000 Subject: use explicit returns to avoid checker confusion 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. --- gdb/python/py-breakpoint.c | 3 ++- gdb/python/py-frame.c | 3 ++- gdb/python/python.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'gdb/python') 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) -- cgit v1.1