* 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.
This commit is contained in:
Pedro Alves 2010-11-25 13:10:07 +00:00
parent d9a88323fe
commit 5038964414
5 changed files with 18 additions and 13 deletions

View file

@ -1,3 +1,14 @@
2010-11-25 Pedro Alves <pedro@codesourcery.com>
* 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 <brobecker@adacore.com> 2010-11-24 Joel Brobecker <brobecker@adacore.com>
* rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int * rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int

View file

@ -24,13 +24,9 @@
#include "value.h" #include "value.h"
#include "vec.h" #include "vec.h"
#if HAVE_PYTHON
#include "python/python.h"
#include "python/python-internal.h"
#endif
struct value; struct value;
struct block; struct block;
struct breakpoint_object;
/* This is the maximum number of bytes a breakpoint instruction can take. /* 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 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 This is always NULL for a GDB that is not script enabled. It
can sometimes be NULL for enabled GDBs as not all breakpoint can sometimes be NULL for enabled GDBs as not all breakpoint
types are tracked by the Python scripting API. */ types are tracked by the Python scripting API. */
PyObject *py_bp_object; struct breakpoint_object *py_bp_object;
}; };
typedef struct breakpoint *breakpoint_p; typedef struct breakpoint *breakpoint_p;

View file

@ -1240,8 +1240,4 @@ void dummy_obstack_deallocate (void *object, void *data);
extern void initialize_progspace (void); extern void initialize_progspace (void);
extern void initialize_inferiors (void); extern void initialize_inferiors (void);
#ifndef HAVE_PYTHON
typedef int PyObject;
#endif
#endif /* #ifndef DEFS_H */ #endif /* #ifndef DEFS_H */

View file

@ -636,7 +636,7 @@ static int
build_bp_list (struct breakpoint *b, void *arg) build_bp_list (struct breakpoint *b, void *arg)
{ {
PyObject *list = arg; PyObject *list = arg;
PyObject *bp = b->py_bp_object; PyObject *bp = (PyObject *) b->py_bp_object;
int iserr = 0; int iserr = 0;
/* Not all breakpoints will have a companion Python object. /* Not all breakpoints will have a companion Python object.
@ -718,7 +718,7 @@ gdbpy_breakpoint_created (int num)
{ {
newbp->number = num; newbp->number = num;
newbp->bp = bp; newbp->bp = bp;
newbp->bp->py_bp_object = (PyObject *) newbp; newbp->bp->py_bp_object = newbp;
Py_INCREF (newbp); Py_INCREF (newbp);
++bppy_live; ++bppy_live;
} }
@ -746,7 +746,7 @@ gdbpy_breakpoint_deleted (int num)
if (! bp) if (! bp)
return; return;
bp_obj = ((breakpoint_object *) bp->py_bp_object); bp_obj = bp->py_bp_object;
if (bp_obj) if (bp_obj)
{ {
bp_obj->bp = NULL; bp_obj->bp = NULL;

View file

@ -39,6 +39,8 @@
#if HAVE_PYTHON #if HAVE_PYTHON
#include "python/python.h" #include "python/python.h"
#include "python/python-internal.h" #include "python/python-internal.h"
#else
typedef int PyObject;
#endif #endif
/* Non-zero if we want to see trace of varobj level stuff. */ /* Non-zero if we want to see trace of varobj level stuff. */