diff options
author | Andrew Cagney <cagney@redhat.com> | 2005-01-29 01:59:31 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2005-01-29 01:59:31 +0000 |
commit | a2bd3dcdac2e47cdb50de67313175fb8b9ce88fa (patch) | |
tree | 644f462df21398acb727242e9f03bfaaf75c459d /gdb/p-valprint.c | |
parent | 8bdcadb12fd5eabe4e088c4965e2e82ecd987c83 (diff) | |
download | gdb-a2bd3dcdac2e47cdb50de67313175fb8b9ce88fa.zip gdb-a2bd3dcdac2e47cdb50de67313175fb8b9ce88fa.tar.gz gdb-a2bd3dcdac2e47cdb50de67313175fb8b9ce88fa.tar.bz2 |
2005-01-28 Andrew Cagney <cagney@gnu.org>
* language.h (struct language_defn): Make la_val_print's buffer
parameter a const bfd_byte.
* cp-valprint.c (cp_print_value_fields, cp_print_value): Update.
* ada-lang.c (ada_aligned_value_addr)
(ada_value_primitive_packed_val, ada_which_variant_applies): Update.
* valprint.c (val_print_array_elements): Update.
* valprint.h (val_print_array_elements): Update.
* ada-lang.h (ada_val_print, ada_aligned_value_addr)
(ada_value_primitive_packed_val, ada_which_variant_applies): Update.
* ada-valprint.c (ada_val_print, struct ada_val_print_args)
(ada_val_print_1, ada_print_floating, printable_val_type)
(print_record, val_print_packed_array_elements)
(print_field_values, print_variant_part): Update.
* c-lang.h (c_val_print, cp_print_value_fields): Update.
* c-valprint.c (c_val_print): Update.
* f-lang.h (f_val_print): Update.
* f-valprint.c (f_val_print, f77_print_array_1)
(f77_print_array): Update.
* jv-lang.h (java_val_print): Update.
* jv-valprint.c (java_print_value_fields, java_val_print): Update.
* language.c (unk_lang_val_print): Update.
* m2-lang.h (m2_val_print): Update.
* m2-valprint.c (m2_val_print): Update.
* p-lang.h (pascal_val_print): Update.
(pascal_object_print_value_fields): Update.
* p-valprint.c (pascal_val_print)
(pascal_object_print_value_fields, pascal_object_print_value)
(pascal_object_print_value): Update.
* scm-lang.h (scm_val_print): Update.
* scm-valprint.c (scm_val_print): Update.
* value.h (val_print): Update.
Diffstat (limited to 'gdb/p-valprint.c')
-rw-r--r-- | gdb/p-valprint.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c index 21d21104..336c1df 100644 --- a/gdb/p-valprint.c +++ b/gdb/p-valprint.c @@ -56,9 +56,10 @@ int -pascal_val_print (struct type *type, char *valaddr, int embedded_offset, - CORE_ADDR address, struct ui_file *stream, int format, - int deref_ref, int recurse, enum val_prettyprint pretty) +pascal_val_print (struct type *type, const bfd_byte *valaddr, + int embedded_offset, CORE_ADDR address, + struct ui_file *stream, int format, int deref_ref, + int recurse, enum val_prettyprint pretty) { unsigned int i = 0; /* Number of characters printed */ unsigned len; @@ -586,9 +587,10 @@ static void pascal_object_print_static_field (struct type *, struct value *, struct ui_file *, int, int, enum val_prettyprint); -static void - pascal_object_print_value (struct type *, char *, CORE_ADDR, struct ui_file *, - int, int, enum val_prettyprint, struct type **); +static void pascal_object_print_value (struct type *, const bfd_byte *, + CORE_ADDR, struct ui_file *, + int, int, enum val_prettyprint, + struct type **); void pascal_object_print_class_method (const bfd_byte *valaddr, struct type *type, @@ -720,8 +722,9 @@ pascal_object_is_vtbl_member (struct type *type) return 0; } -/* Mutually recursive subroutines of pascal_object_print_value and c_val_print to - print out a structure's fields: pascal_object_print_value_fields and pascal_object_print_value. +/* Mutually recursive subroutines of pascal_object_print_value and + c_val_print to print out a structure's fields: + pascal_object_print_value_fields and pascal_object_print_value. TYPE, VALADDR, ADDRESS, STREAM, RECURSE, and PRETTY have the same meanings as in pascal_object_print_value and c_val_print. @@ -730,7 +733,7 @@ pascal_object_is_vtbl_member (struct type *type) should not print, or zero if called from top level. */ void -pascal_object_print_value_fields (struct type *type, char *valaddr, +pascal_object_print_value_fields (struct type *type, const bfd_byte *valaddr, CORE_ADDR address, struct ui_file *stream, int format, int recurse, enum val_prettyprint pretty, @@ -903,8 +906,9 @@ pascal_object_print_value_fields (struct type *type, char *valaddr, baseclasses. */ void -pascal_object_print_value (struct type *type, char *valaddr, CORE_ADDR address, - struct ui_file *stream, int format, int recurse, +pascal_object_print_value (struct type *type, const bfd_byte *valaddr, + CORE_ADDR address, struct ui_file *stream, + int format, int recurse, enum val_prettyprint pretty, struct type **dont_print_vb) { @@ -928,7 +932,7 @@ pascal_object_print_value (struct type *type, char *valaddr, CORE_ADDR address, int boffset; struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i)); char *basename = TYPE_NAME (baseclass); - char *base_valaddr; + const bfd_byte *base_valaddr; if (BASETYPE_VIA_VIRTUAL (type, i)) { @@ -966,8 +970,9 @@ pascal_object_print_value (struct type *type, char *valaddr, CORE_ADDR address, if (boffset != -1 && (boffset < 0 || boffset >= TYPE_LENGTH (type))) { /* FIXME (alloc): not safe is baseclass is really really big. */ - base_valaddr = (char *) alloca (TYPE_LENGTH (baseclass)); - if (target_read_memory (address + boffset, base_valaddr, + bfd_byte *buf = alloca (TYPE_LENGTH (baseclass)); + base_valaddr = buf; + if (target_read_memory (address + boffset, buf, TYPE_LENGTH (baseclass)) != 0) boffset = -1; } |