* 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>
* rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int

View File

@ -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;

View File

@ -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 */

View File

@ -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;

View File

@ -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. */