2011-10-20 Phil Muldoon <pmuldoon@redhat.com>

PR python/12656

	* python/py-frame.c (frapy_read_var): Use const struct *block.
	* python/py-type.c (typy_lookup_typename): Likewise.
	(typy_lookup_type): Likewise.
	(typy_legacy_template_argument): Likewise.
	(typy_template_argument): Likewise.
	(gdbpy_lookup_type): Likewise.
	* python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
	* python/py-block.c (blpy_block_object): Likewise.
	(blpy_iter): Likewise.
	(blpy_get_start): Likewise.
	(blpy_get_end): Likewise.
	(blpy_get_function): Likewise.
	(blpy_get_superblock): Likewise.
	(set_block):  Likewise.
	(block_to_block_object): Likewise.
	(block_object_to_block): Likewise.
	(blpy_is_valid): Likewise.
	(blpy_get_global_block): New function.
	(blpy_get_static_block): New function.
	(blpy_is_global): New function.
	(blpy_is_static): New function.
	* blockframe.c (block_innermost_frame): Likewise.
	* valops.c (value_of_variable): Likewise.
	* frame.h: Update prototypes.
	* python/python-internal.h: Likewise.
	* value.h: Likewise.

2011-10-20  Phil Muldoon  <pmuldoon@redhat.com>

	PR python/12656

	* gdb.texinfo (Blocks In Python): Document is_static, is_global,
	global_block, static_block function.

2011-10-20  Phil Muldoon  <pmuldoon@redhat.com>

	PR python/12656

	* gdb.python/py-block.exp: Add is_global, is_static, static_block,
	global_block tests.
This commit is contained in:
Phil Muldoon
2011-10-20 12:31:30 +00:00
parent 5468810dda
commit 9df2fbc4c1
15 changed files with 186 additions and 24 deletions

View File

@ -576,7 +576,7 @@ typy_get_sizeof (PyObject *self, void *closure)
}
static struct type *
typy_lookup_typename (const char *type_name, struct block *block)
typy_lookup_typename (const char *type_name, const struct block *block)
{
struct type *type = NULL;
volatile struct gdb_exception except;
@ -606,7 +606,7 @@ typy_lookup_typename (const char *type_name, struct block *block)
static struct type *
typy_lookup_type (struct demangle_component *demangled,
struct block *block)
const struct block *block)
{
struct type *type;
char *type_name;
@ -651,7 +651,7 @@ typy_lookup_type (struct demangle_component *demangled,
versions of GCC, that do not emit DW_TAG_template_*. */
static PyObject *
typy_legacy_template_argument (struct type *type, struct block *block,
typy_legacy_template_argument (struct type *type, const struct block *block,
int argno)
{
int i;
@ -716,7 +716,7 @@ typy_template_argument (PyObject *self, PyObject *args)
{
int argno;
struct type *type = ((type_object *) self)->type;
struct block *block = NULL;
const struct block *block = NULL;
PyObject *block_obj = NULL;
struct symbol *sym;
struct value *val = NULL;
@ -1328,7 +1328,7 @@ gdbpy_lookup_type (PyObject *self, PyObject *args, PyObject *kw)
const char *type_name = NULL;
struct type *type = NULL;
PyObject *block_obj = NULL;
struct block *block = NULL;
const struct block *block = NULL;
if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O", keywords,
&type_name, &block_obj))