diff options
author | Tom Tromey <tromey@redhat.com> | 2013-05-30 17:30:03 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-05-30 17:30:03 +0000 |
commit | f3300387104722cbfcfc955bdacb474c7f33ba9e (patch) | |
tree | 3f393ef58f81481da206005d7471b2a46cf1b44d /gdb | |
parent | c27e16e3f1dcf904e09c4d725bc6dbde7e9ef172 (diff) | |
download | gdb-f3300387104722cbfcfc955bdacb474c7f33ba9e.zip gdb-f3300387104722cbfcfc955bdacb474c7f33ba9e.tar.gz gdb-f3300387104722cbfcfc955bdacb474c7f33ba9e.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/python/py-breakpoint.c | 3 | ||||
-rw-r--r-- | gdb/python/py-frame.c | 3 | ||||
-rw-r--r-- | gdb/python/python.c | 3 |
4 files changed, 13 insertions, 3 deletions
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 <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 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) |