@@ -124,14 +124,14 @@ extern void cp_print_value_fields (struct type *, struct type *,
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
- struct type **, int);
+ int, int);
extern void cp_print_value_fields_rtti (struct type *,
const gdb_byte *, int, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
- struct type **, int);
+ int, int);
extern int cp_is_vtbl_ptr_type (struct type *);
@@ -394,7 +394,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr,
embedded_offset, address,
stream, recurse,
original_value, options,
- NULL, 0);
+ 0, 0);
break;
case TYPE_CODE_INT:
@@ -84,7 +84,7 @@ static void cp_print_value (struct type *, struct type *,
CORE_ADDR, struct ui_file *,
int, const struct value *,
const struct value_print_options *,
- struct type **);
+ int);
/* GCC versions after 2.4.5 use this. */
@@ -149,8 +149,13 @@ cp_is_vtbl_member (struct type *type)
2nd argument REAL_TYPE is used to carry over the type of the
derived class across the recursion to base classes.
- DONT_PRINT is an array of baseclass types that we should not print,
- or zero if called from top level. */
+ DONT_PRINT_VB is set if we have been called from cp_print_value
+ while printing virtual baseclasses. DONT_PRINT_VB_OBSTACK contains
+ an array of types that we should not print in that case.
+
+ DONT_PRINT_STATMEM is set when called from cp_print_static_field
+ while printing static members. DONT_PRINT_STATMEM_OBSTACK contains
+ an array of types that we should not print in that case. */
void
cp_print_value_fields (struct type *type, struct type *real_type,
@@ -158,7 +163,7 @@ cp_print_value_fields (struct type *type, struct type *real_type,
CORE_ADDR address, struct ui_file *stream,
int recurse, const struct value *val,
const struct value_print_options *options,
- struct type **dont_print_vb,
+ int dont_print_vb,
int dont_print_statmem)
{
int i, len, n_baseclasses;
@@ -419,7 +424,7 @@ cp_print_value_fields_rtti (struct type *type,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
- struct type **dont_print_vb,
+ int dont_print_vb,
int dont_print_statmem)
{
struct type *real_type = NULL;
@@ -460,7 +465,7 @@ cp_print_value (struct type *type, struct type *real_type,
CORE_ADDR address, struct ui_file *stream,
int recurse, const struct value *val,
const struct value_print_options *options,
- struct type **dont_print_vb)
+ int dont_print_vb)
{
struct type **last_dont_print
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
@@ -595,9 +600,7 @@ cp_print_value (struct type *type, struct type *real_type,
thisoffset + boffset,
value_address (base_val),
stream, recurse, base_val, options,
- ((struct type **)
- obstack_base (&dont_print_vb_obstack)),
- 0);
+ 1, 0);
}
fputs_filtered (", ", stream);
@@ -669,7 +672,7 @@ cp_print_static_field (struct type *type,
value_contents_for_printing (val),
value_embedded_offset (val), addr,
stream, recurse, val,
- options, NULL, 1);
+ options, 0, 1);
return;
}
@@ -401,7 +401,7 @@ m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
else
cp_print_value_fields (type, type, valaddr, embedded_offset,
address, stream, recurse, original_value,
- options, NULL, 0);
+ options, 0, 0);
break;
case TYPE_CODE_SET: