* cp-valprint.c (cp_print_value_fields, cp_print_value): Always

initialize tmp_obstack.
	* p-valprint.c (pascal_object_print_value_fields)
	(pascal_object_print_value): Likewise.
This commit is contained in:
Daniel Jacobowitz 2007-02-08 14:20:56 +00:00
parent fe5dedf464
commit c1b6e682ab
3 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2007-02-08 Mark Kettenis <kettenis@gnu.org>
Daniel Jacobowitz <dan@codesourcery.com>
* cp-valprint.c (cp_print_value_fields, cp_print_value): Always
initialize tmp_obstack.
* p-valprint.c (pascal_object_print_value_fields)
(pascal_object_print_value): Likewise.
2007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
* features/feature_to_c.sh: Use %s to avoid problems with nawk.

View File

@ -167,7 +167,6 @@ cp_print_value_fields (struct type *type, struct type *real_type,
struct type **dont_print_vb,int dont_print_statmem)
{
int i, len, n_baseclasses;
struct obstack tmp_obstack;
char *last_dont_print = obstack_next_free (&dont_print_statmem_obstack);
int fields_seen = 0;
@ -197,12 +196,13 @@ cp_print_value_fields (struct type *type, struct type *real_type,
fprintf_filtered (stream, "<No data fields>");
else
{
struct obstack tmp_obstack = dont_print_statmem_obstack;
if (dont_print_statmem == 0)
{
/* If we're at top level, carve out a completely fresh
chunk of the obstack and use that until this particular
invocation returns. */
tmp_obstack = dont_print_statmem_obstack;
obstack_finish (&dont_print_statmem_obstack);
}
@ -426,9 +426,9 @@ cp_print_value (struct type *type, struct type *real_type,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty, struct type **dont_print_vb)
{
struct obstack tmp_obstack;
struct type **last_dont_print
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
struct obstack tmp_obstack = dont_print_vb_obstack;
int i, n_baseclasses = TYPE_N_BASECLASSES (type);
int thisoffset;
struct type *thistype;
@ -438,7 +438,6 @@ cp_print_value (struct type *type, struct type *real_type,
/* If we're at top level, carve out a completely fresh
chunk of the obstack and use that until this particular
invocation returns. */
tmp_obstack = dont_print_vb_obstack;
/* Bump up the high-water mark. Now alpha is omega. */
obstack_finish (&dont_print_vb_obstack);
}

View File

@ -641,7 +641,6 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
int dont_print_statmem)
{
int i, len, n_baseclasses;
struct obstack tmp_obstack;
char *last_dont_print = obstack_next_free (&dont_print_statmem_obstack);
CHECK_TYPEDEF (type);
@ -660,6 +659,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
fprintf_filtered (stream, "<No data fields>");
else
{
struct obstack tmp_obstack = dont_print_statmem_obstack;
int fields_seen = 0;
if (dont_print_statmem == 0)
@ -667,7 +667,6 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
/* If we're at top level, carve out a completely fresh
chunk of the obstack and use that until this particular
invocation returns. */
tmp_obstack = dont_print_statmem_obstack;
obstack_finish (&dont_print_statmem_obstack);
}
@ -810,9 +809,9 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
enum val_prettyprint pretty,
struct type **dont_print_vb)
{
struct obstack tmp_obstack;
struct type **last_dont_print
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
struct obstack tmp_obstack = dont_print_vb_obstack;
int i, n_baseclasses = TYPE_N_BASECLASSES (type);
if (dont_print_vb == 0)
@ -820,7 +819,6 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
/* If we're at top level, carve out a completely fresh
chunk of the obstack and use that until this particular
invocation returns. */
tmp_obstack = dont_print_vb_obstack;
/* Bump up the high-water mark. Now alpha is omega. */
obstack_finish (&dont_print_vb_obstack);
}