aboutsummaryrefslogtreecommitdiff
path: root/gdb/p-valprint.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-01-29 01:59:31 +0000
committerAndrew Cagney <cagney@redhat.com>2005-01-29 01:59:31 +0000
commita2bd3dcdac2e47cdb50de67313175fb8b9ce88fa (patch)
tree644f462df21398acb727242e9f03bfaaf75c459d /gdb/p-valprint.c
parent8bdcadb12fd5eabe4e088c4965e2e82ecd987c83 (diff)
downloadgdb-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.c33
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;
}