From 5038964414cb7f8350b1b89bd95ef78125effb33 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 25 Nov 2010 13:10:07 +0000 Subject: [PATCH] * breakpoint.h: No longer include python.h or python-internal.h. (struct breakpoint_object): Forward declare. * defs.h (PyObject) [!HAVE_PYTHON]: Don't define. * varobj.c (PyObject) [!HAVE_PYTHON]: Define. * python/py-breakpoint.c (build_bp_list): Cast py_bp_object to PyObject pointer. (gdbpy_breakpoint_created): Remove casts around py_bp_object accesses. --- gdb/ChangeLog | 11 +++++++++++ gdb/breakpoint.h | 8 ++------ gdb/defs.h | 4 ---- gdb/python/py-breakpoint.c | 6 +++--- gdb/varobj.c | 2 ++ 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 869b8d7066..aa79939777 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2010-11-25 Pedro Alves + + * breakpoint.h: No longer include python.h or python-internal.h. + (struct breakpoint_object): Forward declare. + * defs.h (PyObject) [!HAVE_PYTHON]: Don't define. + * varobj.c (PyObject) [!HAVE_PYTHON]: Define. + * python/py-breakpoint.c (build_bp_list): Cast py_bp_object to + PyObject pointer. + (gdbpy_breakpoint_created): Remove casts around py_bp_object + accesses. + 2010-11-24 Joel Brobecker * rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index e34c2d3e84..0fb6830ab0 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -24,13 +24,9 @@ #include "value.h" #include "vec.h" -#if HAVE_PYTHON -#include "python/python.h" -#include "python/python-internal.h" -#endif - struct value; struct block; +struct breakpoint_object; /* This is the maximum number of bytes a breakpoint instruction can take. Feel free to increase it. It's just used in a few places to size @@ -568,7 +564,7 @@ struct breakpoint This is always NULL for a GDB that is not script enabled. It can sometimes be NULL for enabled GDBs as not all breakpoint types are tracked by the Python scripting API. */ - PyObject *py_bp_object; + struct breakpoint_object *py_bp_object; }; typedef struct breakpoint *breakpoint_p; diff --git a/gdb/defs.h b/gdb/defs.h index d36f7c19b5..489de74e75 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -1240,8 +1240,4 @@ void dummy_obstack_deallocate (void *object, void *data); extern void initialize_progspace (void); extern void initialize_inferiors (void); -#ifndef HAVE_PYTHON -typedef int PyObject; -#endif - #endif /* #ifndef DEFS_H */ diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index 8afa414ecb..64e30ef0ea 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -636,7 +636,7 @@ static int build_bp_list (struct breakpoint *b, void *arg) { PyObject *list = arg; - PyObject *bp = b->py_bp_object; + PyObject *bp = (PyObject *) b->py_bp_object; int iserr = 0; /* Not all breakpoints will have a companion Python object. @@ -718,7 +718,7 @@ gdbpy_breakpoint_created (int num) { newbp->number = num; newbp->bp = bp; - newbp->bp->py_bp_object = (PyObject *) newbp; + newbp->bp->py_bp_object = newbp; Py_INCREF (newbp); ++bppy_live; } @@ -746,7 +746,7 @@ gdbpy_breakpoint_deleted (int num) if (! bp) return; - bp_obj = ((breakpoint_object *) bp->py_bp_object); + bp_obj = bp->py_bp_object; if (bp_obj) { bp_obj->bp = NULL; diff --git a/gdb/varobj.c b/gdb/varobj.c index 25518d4daf..e87d399cee 100644 --- a/gdb/varobj.c +++ b/gdb/varobj.c @@ -39,6 +39,8 @@ #if HAVE_PYTHON #include "python/python.h" #include "python/python-internal.h" +#else +typedef int PyObject; #endif /* Non-zero if we want to see trace of varobj level stuff. */ -- 2.34.1