mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 11:04:18 +08:00
Rename breakpoint_object to gdbpy_breakpoint_object.
* breakpoint.h (gdbpy_breakpoint_object): Renamed from breakpoint_object. All uses updated. * python/python-internal.h (gdbpy_breakpoint_object): Renamed from breakpoint_object. All uses updated. * python.c (*): All uses of breakpoint_object updated. * python.h (*): All uses of breakpoint_object updated. * python/py-breakpoint.c (*): All uses of breakpoint_object updated. * python/py-finishbreakpoint.c (*): Ditto.
This commit is contained in:
parent
d729aae0fd
commit
4cb0213de5
@ -1,3 +1,14 @@
|
||||
2013-11-28 Doug Evans <xdje42@gmail.com>
|
||||
|
||||
* breakpoint.h (gdbpy_breakpoint_object): Renamed from
|
||||
breakpoint_object. All uses updated.
|
||||
* python/python-internal.h (gdbpy_breakpoint_object): Renamed from
|
||||
breakpoint_object. All uses updated.
|
||||
* python.c (*): All uses of breakpoint_object updated.
|
||||
* python.h (*): All uses of breakpoint_object updated.
|
||||
* python/py-breakpoint.c (*): All uses of breakpoint_object updated.
|
||||
* python/py-finishbreakpoint.c (*): Ditto.
|
||||
|
||||
2013-11-28 Doug Evans <xdje42@gmail.com>
|
||||
|
||||
* configure.ac: Add comments delineating libpython and libmcheck.
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
struct value;
|
||||
struct block;
|
||||
struct breakpoint_object;
|
||||
struct gdbpy_breakpoint_object;
|
||||
struct get_number_or_range_state;
|
||||
struct thread_info;
|
||||
struct bpstats;
|
||||
@ -737,8 +737,8 @@ struct breakpoint
|
||||
Python object that has been associated with this 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. */
|
||||
struct breakpoint_object *py_bp_object;
|
||||
types are tracked by the scripting language API. */
|
||||
struct gdbpy_breakpoint_object *py_bp_object;
|
||||
};
|
||||
|
||||
/* An instance of this type is used to represent a watchpoint. It
|
||||
|
@ -37,7 +37,7 @@ static int bppy_live;
|
||||
|
||||
/* Variables used to pass information between the Breakpoint
|
||||
constructor and the breakpoint-created hook function. */
|
||||
breakpoint_object *bppy_pending_object;
|
||||
gdbpy_breakpoint_object *bppy_pending_object;
|
||||
|
||||
/* Function that is called when a Python condition is evaluated. */
|
||||
static char * const stop_func = "stop";
|
||||
@ -76,7 +76,7 @@ static struct pybp_code pybp_watch_types[] =
|
||||
static PyObject *
|
||||
bppy_is_valid (PyObject *self, PyObject *args)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
if (self_bp->bp)
|
||||
Py_RETURN_TRUE;
|
||||
@ -87,7 +87,7 @@ bppy_is_valid (PyObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
bppy_get_enabled (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
if (! self_bp->bp)
|
||||
@ -101,7 +101,7 @@ bppy_get_enabled (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_silent (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
if (self_bp->bp->silent)
|
||||
@ -113,7 +113,7 @@ bppy_get_silent (PyObject *self, void *closure)
|
||||
static int
|
||||
bppy_set_enabled (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
int cmp;
|
||||
volatile struct gdb_exception except;
|
||||
|
||||
@ -153,7 +153,7 @@ bppy_set_enabled (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static int
|
||||
bppy_set_silent (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
int cmp;
|
||||
|
||||
BPPY_SET_REQUIRE_VALID (self_bp);
|
||||
@ -184,7 +184,7 @@ bppy_set_silent (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static int
|
||||
bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
long id;
|
||||
|
||||
BPPY_SET_REQUIRE_VALID (self_bp);
|
||||
@ -225,7 +225,7 @@ bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static int
|
||||
bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
long id;
|
||||
int valid_id = 0;
|
||||
volatile struct gdb_exception except;
|
||||
@ -278,7 +278,7 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static PyObject *
|
||||
bppy_delete_breakpoint (PyObject *self, PyObject *args)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
volatile struct gdb_exception except;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
@ -297,7 +297,7 @@ bppy_delete_breakpoint (PyObject *self, PyObject *args)
|
||||
static int
|
||||
bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
long value;
|
||||
volatile struct gdb_exception except;
|
||||
|
||||
@ -335,7 +335,7 @@ bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static int
|
||||
bppy_set_hit_count (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_SET_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -370,7 +370,7 @@ static PyObject *
|
||||
bppy_get_location (PyObject *self, void *closure)
|
||||
{
|
||||
char *str;
|
||||
breakpoint_object *obj = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *obj = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (obj);
|
||||
|
||||
@ -389,7 +389,7 @@ static PyObject *
|
||||
bppy_get_expression (PyObject *self, void *closure)
|
||||
{
|
||||
char *str;
|
||||
breakpoint_object *obj = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *obj = (gdbpy_breakpoint_object *) self;
|
||||
struct watchpoint *wp;
|
||||
|
||||
BPPY_REQUIRE_VALID (obj);
|
||||
@ -411,7 +411,7 @@ static PyObject *
|
||||
bppy_get_condition (PyObject *self, void *closure)
|
||||
{
|
||||
char *str;
|
||||
breakpoint_object *obj = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *obj = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (obj);
|
||||
|
||||
@ -429,7 +429,7 @@ static int
|
||||
bppy_set_condition (PyObject *self, PyObject *newvalue, void *closure)
|
||||
{
|
||||
char *exp;
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
volatile struct gdb_exception except;
|
||||
|
||||
BPPY_SET_REQUIRE_VALID (self_bp);
|
||||
@ -466,7 +466,7 @@ bppy_set_condition (PyObject *self, PyObject *newvalue, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_commands (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
struct breakpoint *bp = self_bp->bp;
|
||||
long length;
|
||||
volatile struct gdb_exception except;
|
||||
@ -507,7 +507,7 @@ bppy_get_commands (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_type (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -519,7 +519,7 @@ bppy_get_type (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_visibility (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -535,7 +535,7 @@ bppy_get_visibility (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_temporary (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -550,7 +550,7 @@ bppy_get_temporary (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_number (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -561,7 +561,7 @@ bppy_get_number (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_thread (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -575,7 +575,7 @@ bppy_get_thread (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_task (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -589,7 +589,7 @@ bppy_get_task (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_hit_count (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -600,7 +600,7 @@ bppy_get_hit_count (PyObject *self, void *closure)
|
||||
static PyObject *
|
||||
bppy_get_ignore_count (PyObject *self, void *closure)
|
||||
{
|
||||
breakpoint_object *self_bp = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *self_bp = (gdbpy_breakpoint_object *) self;
|
||||
|
||||
BPPY_REQUIRE_VALID (self_bp);
|
||||
|
||||
@ -641,7 +641,7 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
return -1;
|
||||
}
|
||||
|
||||
bppy_pending_object = (breakpoint_object *) self;
|
||||
bppy_pending_object = (gdbpy_breakpoint_object *) self;
|
||||
bppy_pending_object->number = -1;
|
||||
bppy_pending_object->bp = NULL;
|
||||
|
||||
@ -690,7 +690,7 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
return -1;
|
||||
}
|
||||
|
||||
BPPY_SET_REQUIRE_VALID ((breakpoint_object *) self);
|
||||
BPPY_SET_REQUIRE_VALID ((gdbpy_breakpoint_object *) self);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -751,7 +751,7 @@ gdbpy_breakpoints (PyObject *self, PyObject *args)
|
||||
allowed to continue. */
|
||||
|
||||
int
|
||||
gdbpy_should_stop (struct breakpoint_object *bp_obj)
|
||||
gdbpy_should_stop (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
int stop = 1;
|
||||
|
||||
@ -798,7 +798,7 @@ gdbpy_should_stop (struct breakpoint_object *bp_obj)
|
||||
conditions. */
|
||||
|
||||
int
|
||||
gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj)
|
||||
gdbpy_breakpoint_has_py_cond (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
int has_func = 0;
|
||||
PyObject *py_bp = (PyObject *) bp_obj;
|
||||
@ -823,7 +823,7 @@ gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj)
|
||||
static void
|
||||
gdbpy_breakpoint_created (struct breakpoint *bp)
|
||||
{
|
||||
breakpoint_object *newbp;
|
||||
gdbpy_breakpoint_object *newbp;
|
||||
PyGILState_STATE state;
|
||||
|
||||
if (bp->number < 0 && bppy_pending_object == NULL)
|
||||
@ -844,7 +844,7 @@ gdbpy_breakpoint_created (struct breakpoint *bp)
|
||||
bppy_pending_object = NULL;
|
||||
}
|
||||
else
|
||||
newbp = PyObject_New (breakpoint_object, &breakpoint_object_type);
|
||||
newbp = PyObject_New (gdbpy_breakpoint_object, &breakpoint_object_type);
|
||||
if (newbp)
|
||||
{
|
||||
newbp->number = bp->number;
|
||||
@ -872,7 +872,7 @@ gdbpy_breakpoint_deleted (struct breakpoint *b)
|
||||
int num = b->number;
|
||||
PyGILState_STATE state;
|
||||
struct breakpoint *bp = NULL;
|
||||
breakpoint_object *bp_obj;
|
||||
gdbpy_breakpoint_object *bp_obj;
|
||||
|
||||
state = PyGILState_Ensure ();
|
||||
bp = get_breakpoint (num);
|
||||
@ -940,7 +940,7 @@ gdbpy_initialize_breakpoints (void)
|
||||
static int
|
||||
local_setattro (PyObject *self, PyObject *name, PyObject *v)
|
||||
{
|
||||
breakpoint_object *obj = (breakpoint_object *) self;
|
||||
gdbpy_breakpoint_object *obj = (gdbpy_breakpoint_object *) self;
|
||||
char *attr = python_string_to_host_string (name);
|
||||
|
||||
if (attr == NULL)
|
||||
@ -1019,7 +1019,7 @@ PyTypeObject breakpoint_object_type =
|
||||
{
|
||||
PyVarObject_HEAD_INIT (NULL, 0)
|
||||
"gdb.Breakpoint", /*tp_name*/
|
||||
sizeof (breakpoint_object), /*tp_basicsize*/
|
||||
sizeof (gdbpy_breakpoint_object), /*tp_basicsize*/
|
||||
0, /*tp_itemsize*/
|
||||
0, /*tp_dealloc*/
|
||||
0, /*tp_print*/
|
||||
|
@ -39,7 +39,7 @@ static char * const outofscope_func = "out_of_scope";
|
||||
struct finish_breakpoint_object
|
||||
{
|
||||
/* gdb.Breakpoint base class. */
|
||||
breakpoint_object py_bp;
|
||||
gdbpy_breakpoint_object py_bp;
|
||||
/* gdb.Type object of the value return by the breakpointed function.
|
||||
May be NULL if no debug information was available or return type
|
||||
was VOID. */
|
||||
@ -90,7 +90,7 @@ bpfinishpy_dealloc (PyObject *self)
|
||||
`return_value', if possible. */
|
||||
|
||||
void
|
||||
bpfinishpy_pre_stop_hook (struct breakpoint_object *bp_obj)
|
||||
bpfinishpy_pre_stop_hook (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
struct finish_breakpoint_object *self_finishbp =
|
||||
(struct finish_breakpoint_object *) bp_obj;
|
||||
@ -133,7 +133,7 @@ bpfinishpy_pre_stop_hook (struct breakpoint_object *bp_obj)
|
||||
of the gdb.FinishBreakpoint object BP_OBJ. */
|
||||
|
||||
void
|
||||
bpfinishpy_post_stop_hook (struct breakpoint_object *bp_obj)
|
||||
bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
volatile struct gdb_exception except;
|
||||
|
||||
@ -320,7 +320,7 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
static void
|
||||
bpfinishpy_out_of_scope (struct finish_breakpoint_object *bpfinish_obj)
|
||||
{
|
||||
breakpoint_object *bp_obj = (breakpoint_object *) bpfinish_obj;
|
||||
gdbpy_breakpoint_object *bp_obj = (gdbpy_breakpoint_object *) bpfinish_obj;
|
||||
PyObject *py_obj = (PyObject *) bp_obj;
|
||||
|
||||
if (bpfinish_obj->py_bp.bp->enable_state == bp_enabled
|
||||
|
@ -223,7 +223,7 @@ extern PyTypeObject breakpoint_object_type
|
||||
extern PyTypeObject frame_object_type
|
||||
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("frame_object");
|
||||
|
||||
typedef struct breakpoint_object
|
||||
typedef struct gdbpy_breakpoint_object
|
||||
{
|
||||
PyObject_HEAD
|
||||
|
||||
@ -236,7 +236,7 @@ typedef struct breakpoint_object
|
||||
|
||||
/* 1 is this is a FinishBreakpoint object, 0 otherwise. */
|
||||
int is_finish_bp;
|
||||
} breakpoint_object;
|
||||
} gdbpy_breakpoint_object;
|
||||
|
||||
/* Require that BREAKPOINT be a valid breakpoint ID; throw a Python
|
||||
exception if it is invalid. */
|
||||
@ -263,7 +263,7 @@ typedef struct breakpoint_object
|
||||
|
||||
/* Variables used to pass information between the Breakpoint
|
||||
constructor and the breakpoint-created hook function. */
|
||||
extern breakpoint_object *bppy_pending_object;
|
||||
extern gdbpy_breakpoint_object *bppy_pending_object;
|
||||
|
||||
|
||||
typedef struct
|
||||
@ -463,8 +463,8 @@ PyObject *gdbpy_get_varobj_pretty_printer (struct value *value);
|
||||
char *gdbpy_get_display_hint (PyObject *printer);
|
||||
PyObject *gdbpy_default_visualizer (PyObject *self, PyObject *args);
|
||||
|
||||
void bpfinishpy_pre_stop_hook (struct breakpoint_object *bp_obj);
|
||||
void bpfinishpy_post_stop_hook (struct breakpoint_object *bp_obj);
|
||||
void bpfinishpy_pre_stop_hook (struct gdbpy_breakpoint_object *bp_obj);
|
||||
void bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj);
|
||||
|
||||
extern PyObject *gdbpy_doc_cst;
|
||||
extern PyObject *gdbpy_children_cst;
|
||||
|
@ -1395,7 +1395,7 @@ source_python_script (FILE *file, const char *filename)
|
||||
}
|
||||
|
||||
int
|
||||
gdbpy_should_stop (struct breakpoint_object *bp_obj)
|
||||
gdbpy_should_stop (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
internal_error (__FILE__, __LINE__,
|
||||
_("gdbpy_should_stop called when Python scripting is " \
|
||||
@ -1403,7 +1403,7 @@ gdbpy_should_stop (struct breakpoint_object *bp_obj)
|
||||
}
|
||||
|
||||
int
|
||||
gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj)
|
||||
gdbpy_breakpoint_has_py_cond (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
internal_error (__FILE__, __LINE__,
|
||||
_("gdbpy_breakpoint_has_py_cond called when Python " \
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "value.h"
|
||||
#include "mi/mi-cmds.h"
|
||||
|
||||
struct breakpoint_object;
|
||||
struct gdbpy_breakpoint_object;
|
||||
|
||||
/* The suffix of per-objfile scripts to auto-load.
|
||||
E.g. When the program loads libfoo.so, look for libfoo-gdb.py. */
|
||||
@ -111,9 +111,9 @@ void preserve_python_values (struct objfile *objfile, htab_t copied_types);
|
||||
|
||||
void gdbpy_load_auto_scripts_for_objfile (struct objfile *objfile);
|
||||
|
||||
int gdbpy_should_stop (struct breakpoint_object *bp_obj);
|
||||
int gdbpy_should_stop (struct gdbpy_breakpoint_object *bp_obj);
|
||||
|
||||
int gdbpy_breakpoint_has_py_cond (struct breakpoint_object *bp_obj);
|
||||
int gdbpy_breakpoint_has_py_cond (struct gdbpy_breakpoint_object *bp_obj);
|
||||
|
||||
void *start_type_printers (void);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user