From: Tom Tromey Date: Thu, 30 May 2013 17:30:03 +0000 (+0000) Subject: use explicit returns to avoid checker confusion X-Git-Tag: cygwin-1_7_19-release~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3300387104722cbfcfc955bdacb474c7f33ba9e;p=external%2Fbinutils.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 55df48c..666868f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2013-05-30 Tom Tromey + * 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 + * cp-namespace.c (cp_lookup_symbol_imports_or_template): Call do_cleanups on all return paths. 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)