|
|
@ -240,9 +240,8 @@ pascal_val_print (struct type *type, const bfd_byte *valaddr, |
|
|
wtype = TYPE_TARGET_TYPE (type); |
|
|
wtype = TYPE_TARGET_TYPE (type); |
|
|
} |
|
|
} |
|
|
vt_val = value_at (wtype, vt_address); |
|
|
vt_val = value_at (wtype, vt_address); |
|
|
val_print (value_type (vt_val), value_contents (vt_val), 0, |
|
|
common_val_print (vt_val, stream, format, deref_ref, |
|
|
VALUE_ADDRESS (vt_val), stream, format, |
|
|
recurse + 1, pretty); |
|
|
deref_ref, recurse + 1, pretty); |
|
|
|
|
|
if (pretty) |
|
|
if (pretty) |
|
|
{ |
|
|
{ |
|
|
fprintf_filtered (stream, "\n"); |
|
|
fprintf_filtered (stream, "\n"); |
|
|
@ -292,10 +291,8 @@ pascal_val_print (struct type *type, const bfd_byte *valaddr, |
|
|
(TYPE_TARGET_TYPE (type), |
|
|
(TYPE_TARGET_TYPE (type), |
|
|
unpack_pointer (lookup_pointer_type (builtin_type_void), |
|
|
unpack_pointer (lookup_pointer_type (builtin_type_void), |
|
|
valaddr + embedded_offset)); |
|
|
valaddr + embedded_offset)); |
|
|
val_print (value_type (deref_val), |
|
|
common_val_print (deref_val, stream, format, deref_ref, |
|
|
value_contents (deref_val), 0, |
|
|
recurse + 1, pretty); |
|
|
VALUE_ADDRESS (deref_val), stream, format, |
|
|
|
|
|
deref_ref, recurse + 1, pretty); |
|
|
|
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
fputs_filtered ("???", stream); |
|
|
fputs_filtered ("???", stream); |
|
|
@ -566,9 +563,7 @@ pascal_value_print (struct value *val, struct ui_file *stream, int format, |
|
|
fprintf_filtered (stream, ") "); |
|
|
fprintf_filtered (stream, ") "); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
return val_print (type, value_contents (val), value_embedded_offset (val), |
|
|
return common_val_print (val, stream, format, 1, 0, pretty); |
|
|
VALUE_ADDRESS (val) + value_offset (val), |
|
|
|
|
|
stream, format, 1, 0, pretty); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -591,7 +586,7 @@ show_pascal_static_field_print (struct ui_file *file, int from_tty, |
|
|
static struct obstack dont_print_vb_obstack; |
|
|
static struct obstack dont_print_vb_obstack; |
|
|
static struct obstack dont_print_statmem_obstack; |
|
|
static struct obstack dont_print_statmem_obstack; |
|
|
|
|
|
|
|
|
static void pascal_object_print_static_field (struct type *, struct value *, |
|
|
static void pascal_object_print_static_field (struct value *, |
|
|
struct ui_file *, int, int, |
|
|
struct ui_file *, int, int, |
|
|
enum val_prettyprint); |
|
|
enum val_prettyprint); |
|
|
|
|
|
|
|
|
@ -854,8 +849,7 @@ pascal_object_print_value_fields (struct type *type, const bfd_byte *valaddr, |
|
|
v = value_from_longest (TYPE_FIELD_TYPE (type, i), |
|
|
v = value_from_longest (TYPE_FIELD_TYPE (type, i), |
|
|
unpack_field_as_long (type, valaddr, i)); |
|
|
unpack_field_as_long (type, valaddr, i)); |
|
|
|
|
|
|
|
|
val_print (TYPE_FIELD_TYPE (type, i), value_contents (v), 0, 0, |
|
|
common_val_print (v, stream, format, 0, recurse + 1, pretty); |
|
|
stream, format, 0, recurse + 1, pretty); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
@ -874,9 +868,8 @@ pascal_object_print_value_fields (struct type *type, const bfd_byte *valaddr, |
|
|
if (v == NULL) |
|
|
if (v == NULL) |
|
|
fputs_filtered ("<optimized out>", stream); |
|
|
fputs_filtered ("<optimized out>", stream); |
|
|
else |
|
|
else |
|
|
pascal_object_print_static_field (TYPE_FIELD_TYPE (type, i), v, |
|
|
pascal_object_print_static_field (v, stream, format, |
|
|
stream, format, recurse + 1, |
|
|
recurse + 1, pretty); |
|
|
pretty); |
|
|
|
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
@ -1017,14 +1010,16 @@ pascal_object_print_value (struct type *type, const bfd_byte *valaddr, |
|
|
static member classes in an obstack and refuse to print them more |
|
|
static member classes in an obstack and refuse to print them more |
|
|
than once. |
|
|
than once. |
|
|
|
|
|
|
|
|
VAL contains the value to print, TYPE, STREAM, RECURSE, and PRETTY |
|
|
VAL contains the value to print, STREAM, RECURSE, and PRETTY |
|
|
have the same meanings as in c_val_print. */ |
|
|
have the same meanings as in c_val_print. */ |
|
|
|
|
|
|
|
|
static void |
|
|
static void |
|
|
pascal_object_print_static_field (struct type *type, struct value *val, |
|
|
pascal_object_print_static_field (struct value *val, |
|
|
struct ui_file *stream, int format, |
|
|
struct ui_file *stream, int format, |
|
|
int recurse, enum val_prettyprint pretty) |
|
|
int recurse, enum val_prettyprint pretty) |
|
|
{ |
|
|
{ |
|
|
|
|
|
struct type *type = value_type (val); |
|
|
|
|
|
|
|
|
if (TYPE_CODE (type) == TYPE_CODE_STRUCT) |
|
|
if (TYPE_CODE (type) == TYPE_CODE_STRUCT) |
|
|
{ |
|
|
{ |
|
|
CORE_ADDR *first_dont_print; |
|
|
CORE_ADDR *first_dont_print; |
|
|
@ -1053,8 +1048,7 @@ pascal_object_print_static_field (struct type *type, struct value *val, |
|
|
stream, format, recurse, pretty, NULL, 1); |
|
|
stream, format, recurse, pretty, NULL, 1); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
val_print (type, value_contents (val), 0, VALUE_ADDRESS (val), |
|
|
common_val_print (val, stream, format, 0, recurse, pretty); |
|
|
stream, format, 0, recurse, pretty); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void |
|
|
void |
|
|
|