-/* Like cp_print_value_fields, but find the runtime type of the object
- and pass it as the `real_type' argument to cp_print_value_fields.
- This function is a hack to work around the fact that
- common_val_print passes the embedded offset to val_print, but not
- the enclosing type. */
-
-void
-cp_print_value_fields_rtti (struct type *type,
- const gdb_byte *valaddr, int offset,
- CORE_ADDR address,
- struct ui_file *stream, int recurse,
- const struct value_print_options *options,
- struct type **dont_print_vb, int dont_print_statmem)
-{
- struct value *value;
- int full, top, using_enc;
- struct type *real_type;
-
- /* Ugh, we have to convert back to a value here. */
- value = value_from_contents_and_address (type, valaddr + offset,
- address + offset);
- /* We don't actually care about most of the result here -- just the
- type. We already have the correct offset, due to how val_print
- was initially called. */
- real_type = value_rtti_type (value, &full, &top, &using_enc);
- if (!real_type)
- real_type = type;
-
- cp_print_value_fields (type, real_type, valaddr, offset,
- address, stream, recurse, options,
- dont_print_vb, dont_print_statmem);
-}
-
-/* Special val_print routine to avoid printing multiple copies of virtual
- baseclasses. */