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.
This commit is contained in:
Andrew Cagney 2005-01-29 01:59:31 +00:00
parent 8bdcadb12f
commit a2bd3dcdac
22 changed files with 175 additions and 138 deletions

View File

@ -1,5 +1,37 @@
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.
* p-lang.h (pascal_object_print_class_member)
(pascal_object_print_class_method): Make buffer a const bfd_byte.
* p-valprint.c (pascal_object_print_class_method)

View File

@ -1783,8 +1783,8 @@ has_negatives (struct type *type)
Assumes 0 <= BIT_OFFSET < HOST_CHAR_BIT. */
struct value *
ada_value_primitive_packed_val (struct value *obj, char *valaddr, long offset,
int bit_offset, int bit_size,
ada_value_primitive_packed_val (struct value *obj, const bfd_byte *valaddr,
long offset, int bit_offset, int bit_size,
struct type *type)
{
struct value *v;
@ -5705,7 +5705,7 @@ BadName:
int
ada_which_variant_applies (struct type *var_type, struct type *outer_type,
char *outer_valaddr)
const bfd_byte *outer_valaddr)
{
int others_clause;
int i;
@ -6854,8 +6854,8 @@ ada_aligned_type (struct type *type)
/* The address of the aligned value in an object at address VALADDR
having type TYPE. Assumes ada_is_aligner_type (TYPE). */
char *
ada_aligned_value_addr (struct type *type, char *valaddr)
const bfd_byte *
ada_aligned_value_addr (struct type *type, const bfd_byte *valaddr)
{
if (ada_is_aligner_type (type))
return ada_aligned_value_addr (TYPE_FIELD_TYPE (type, 0),

View File

@ -1,6 +1,7 @@
/* Ada language support definitions for GDB, the GNU debugger.
Copyright 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Copyright 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005 Free Software Foundation, Inc.
This file is part of GDB.
@ -187,7 +188,7 @@ extern void ada_error (char *); /* Defined in ada-exp.y */
extern void ada_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int ada_val_print (struct type *, char *, int, CORE_ADDR,
extern int ada_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
@ -277,7 +278,8 @@ extern int ada_is_ignored_field (struct type *, int);
extern int ada_is_packed_array_type (struct type *);
extern struct value *ada_value_primitive_packed_val (struct value *, char *,
extern struct value *ada_value_primitive_packed_val (struct value *,
const bfd_byte *,
long, int, int,
struct type *);
@ -317,7 +319,8 @@ extern int ada_is_aligner_type (struct type *);
extern struct type *ada_aligned_type (struct type *);
extern char *ada_aligned_value_addr (struct type *, char *);
extern const bfd_byte *ada_aligned_value_addr (struct type *,
const bfd_byte *);
extern const char *ada_attribute_name (enum exp_opcode);
@ -339,7 +342,8 @@ extern struct value *ada_vax_float_print_function (struct type *);
extern struct type *ada_system_address_type (void);
extern int ada_which_variant_applies (struct type *, struct type *, char *);
extern int ada_which_variant_applies (struct type *, struct type *,
const bfd_byte *);
extern struct type *ada_to_fixed_type (struct type *, const bfd_byte *,
CORE_ADDR, struct value *);

View File

@ -39,7 +39,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
struct ada_val_print_args
{
struct type *type;
char *valaddr0;
const bfd_byte *valaddr0;
int embedded_offset;
CORE_ADDR address;
struct ui_file *stream;
@ -49,30 +49,21 @@ struct ada_val_print_args
enum val_prettyprint pretty;
};
static void print_record (struct type *, char *, struct ui_file *, int,
int, enum val_prettyprint);
static void print_record (struct type *, const bfd_byte *, struct ui_file *,
int, int, enum val_prettyprint);
static int print_field_values (struct type *, char *, struct ui_file *,
int, int, enum val_prettyprint,
int, struct type *, char *);
static int print_variant_part (struct type *, int, char *,
static int print_field_values (struct type *, const bfd_byte *,
struct ui_file *, int, int,
enum val_prettyprint, int, struct type *,
char *);
static void val_print_packed_array_elements (struct type *, char *valaddr,
int, struct ui_file *, int, int,
enum val_prettyprint);
const bfd_byte *);
static void adjust_type_signedness (struct type *);
static int ada_val_print_stub (void *args0);
static int ada_val_print_1 (struct type *, char *, int, CORE_ADDR,
static int ada_val_print_1 (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
static void ada_print_floating (char *, struct type *, struct ui_file *);
/* Make TYPE unsigned if its range of values includes no negatives. */
@ -138,7 +129,7 @@ print_optional_low_bound (struct ui_file *stream, struct type *type)
by ada_coerce_to_simple_array). */
static void
val_print_packed_array_elements (struct type *type, char *valaddr,
val_print_packed_array_elements (struct type *type, const bfd_byte *valaddr,
int bitoffset, struct ui_file *stream,
int format, int recurse,
enum val_prettyprint pretty)
@ -246,7 +237,7 @@ val_print_packed_array_elements (struct type *type, char *valaddr,
}
static struct type *
printable_val_type (struct type *type, char *valaddr)
printable_val_type (struct type *type, const bfd_byte *valaddr)
{
return ada_to_fixed_type (ada_aligned_type (type), valaddr, 0, NULL);
}
@ -299,7 +290,8 @@ ui_memcpy (void *dest, const char *buffer, long len)
a decimal point, and at least one digit before and after the
point. We use GNAT format for NaNs and infinities. */
static void
ada_print_floating (char *valaddr, struct type *type, struct ui_file *stream)
ada_print_floating (const bfd_byte *valaddr, struct type *type,
struct ui_file *stream)
{
char buffer[64];
char *s, *result;
@ -555,9 +547,10 @@ ada_printstr (struct ui_file *stream, const bfd_byte *string,
arrays.) */
int
ada_val_print (struct type *type, char *valaddr0, int embedded_offset,
CORE_ADDR address, struct ui_file *stream, int format,
int deref_ref, int recurse, enum val_prettyprint pretty)
ada_val_print (struct type *type, const bfd_byte *valaddr0,
int embedded_offset, CORE_ADDR address,
struct ui_file *stream, int format, int deref_ref,
int recurse, enum val_prettyprint pretty)
{
struct ada_val_print_args args;
args.type = type;
@ -589,8 +582,9 @@ ada_val_print_stub (void *args0)
* does not catch evaluation errors (leaving that to ada_val_print). */
static int
ada_val_print_1 (struct type *type, char *valaddr0, int embedded_offset,
CORE_ADDR address, struct ui_file *stream, int format,
ada_val_print_1 (struct type *type, const bfd_byte *valaddr0,
int embedded_offset, CORE_ADDR address,
struct ui_file *stream, int format,
int deref_ref, int recurse, enum val_prettyprint pretty)
{
unsigned int len;
@ -598,7 +592,7 @@ ada_val_print_1 (struct type *type, char *valaddr0, int embedded_offset,
struct type *elttype;
unsigned int eltlen;
LONGEST val;
char *valaddr = valaddr0 + embedded_offset;
const bfd_byte *valaddr = valaddr0 + embedded_offset;
type = ada_check_typedef (type);
@ -879,10 +873,10 @@ ada_val_print_1 (struct type *type, char *valaddr0, int embedded_offset,
}
static int
print_variant_part (struct type *type, int field_num, char *valaddr,
print_variant_part (struct type *type, int field_num, const bfd_byte *valaddr,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty, int comma_needed,
struct type *outer_type, char *outer_valaddr)
struct type *outer_type, const bfd_byte *outer_valaddr)
{
struct type *var_type = TYPE_FIELD_TYPE (type, field_num);
int which = ada_which_variant_applies (var_type, outer_type, outer_valaddr);
@ -958,8 +952,9 @@ ada_value_print (struct value *val0, struct ui_file *stream, int format,
}
static void
print_record (struct type *type, char *valaddr, struct ui_file *stream,
int format, int recurse, enum val_prettyprint pretty)
print_record (struct type *type, const bfd_byte *valaddr,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty)
{
type = ada_check_typedef (type);
@ -990,10 +985,10 @@ print_record (struct type *type, char *valaddr, struct ui_file *stream,
Returns 1 if COMMA_NEEDED or any fields were printed. */
static int
print_field_values (struct type *type, char *valaddr, struct ui_file *stream,
int format, int recurse, enum val_prettyprint pretty,
int comma_needed, struct type *outer_type,
char *outer_valaddr)
print_field_values (struct type *type, const bfd_byte *valaddr,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty, int comma_needed,
struct type *outer_type, const bfd_byte *outer_valaddr)
{
int i, len;

View File

@ -39,7 +39,7 @@ extern void c_error (char *); /* Defined in c-exp.y */
extern void c_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int c_val_print (struct type *, char *, int, CORE_ADDR,
extern int c_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
@ -82,8 +82,9 @@ extern void cp_print_class_member (const bfd_byte *, struct type *,
extern void cp_print_class_method (const bfd_byte *, struct type *,
struct ui_file *);
extern void cp_print_value_fields (struct type *, struct type *, char *,
int, CORE_ADDR, struct ui_file *, int,
extern void cp_print_value_fields (struct type *, struct type *,
const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int,
int, enum val_prettyprint,
struct type **, int);

View File

@ -69,7 +69,7 @@ print_function_pointer_address (CORE_ADDR address, struct ui_file *stream)
The PRETTY parameter controls prettyprinting. */
int
c_val_print (struct type *type, char *valaddr, int embedded_offset,
c_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)
{

View File

@ -1,7 +1,7 @@
/* Support for printing C++ values for GDB, the GNU debugger.
Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@ -50,8 +50,8 @@ static void cp_print_static_field (struct type *, struct value *,
struct ui_file *, int, int,
enum val_prettyprint);
static void cp_print_value (struct type *, struct type *, char *, int,
CORE_ADDR, struct ui_file *, int, int,
static void cp_print_value (struct type *, struct type *, const bfd_byte *,
int, CORE_ADDR, struct ui_file *, int, int,
enum val_prettyprint, struct type **);
static void cp_print_hpacc_virtual_table_entries (struct type *, int *,
@ -227,10 +227,11 @@ cp_is_vtbl_member (struct type *type)
should not print, or zero if called from top level. */
void
cp_print_value_fields (struct type *type, struct type *real_type, char *valaddr,
int offset, CORE_ADDR address, struct ui_file *stream,
int format, int recurse, enum val_prettyprint pretty,
struct type **dont_print_vb, int dont_print_statmem)
cp_print_value_fields (struct type *type, struct type *real_type,
const bfd_byte *valaddr, int offset, CORE_ADDR address,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty,
struct type **dont_print_vb,int dont_print_statmem)
{
int i, len, n_baseclasses;
struct obstack tmp_obstack;
@ -489,10 +490,10 @@ cp_print_value_fields (struct type *type, struct type *real_type, char *valaddr,
baseclasses. */
static void
cp_print_value (struct type *type, struct type *real_type, char *valaddr,
int offset, CORE_ADDR address, struct ui_file *stream,
int format, int recurse, enum val_prettyprint pretty,
struct type **dont_print_vb)
cp_print_value (struct type *type, struct type *real_type,
const bfd_byte *valaddr, int offset, CORE_ADDR address,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty, struct type **dont_print_vb)
{
struct obstack tmp_obstack;
struct type **last_dont_print
@ -517,7 +518,7 @@ cp_print_value (struct type *type, struct type *real_type, char *valaddr,
int skip;
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))
{
@ -564,8 +565,9 @@ cp_print_value (struct type *type, struct type *real_type, char *valaddr,
|| (boffset + offset) >= TYPE_LENGTH (type)))
{
/* FIXME (alloca): unsafe if baseclass is really really large. */
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)
skip = 1;
address = address + boffset;

View File

@ -1,6 +1,8 @@
/* Fortran language support definitions for GDB, the GNU debugger.
Copyright 1992, 1993, 1994, 1995, 1998, 2000
Free Software Foundation, Inc.
Copyright 1992, 1993, 1994, 1995, 1998, 2000, 2005 Free Software
Foundation, Inc.
Contributed by Motorola. Adapted from the C definitions by Farooq Butt
(fmbutt@engage.sps.mot.com).
@ -28,7 +30,7 @@ extern void f_error (char *); /* Defined in f-exp.y */
extern void f_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int f_val_print (struct type *, char *, int, CORE_ADDR,
extern int f_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);

View File

@ -1,6 +1,8 @@
/* Support for printing Fortran values for GDB, the GNU debugger.
Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003
Free Software Foundation, Inc.
Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003, 2005 Free
Software Foundation, Inc.
Contributed by Motorola. Adapted from the C definitions by Farooq Butt
(fmbutt@engage.sps.mot.com), additionally worked over by Stan Shebs.
@ -42,13 +44,6 @@ static int there_is_a_visible_common_named (char *);
extern void _initialize_f_valprint (void);
static void info_common_command (char *, int);
static void list_all_visible_commons (char *);
static void f77_print_array (struct type *, char *, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
static void f77_print_array_1 (int, int, struct type *, char *,
CORE_ADDR, struct ui_file *, int, int, int,
enum val_prettyprint,
int *elts);
static void f77_create_arrayprint_offset_tbl (struct type *,
struct ui_file *);
static void f77_get_dynamic_length_of_aggregate (struct type *);
@ -278,8 +273,9 @@ f77_create_arrayprint_offset_tbl (struct type *type, struct ui_file *stream)
the superior. Address == the address in the inferior. */
static void
f77_print_array_1 (int nss, int ndimensions, struct type *type, char *valaddr,
CORE_ADDR address, struct ui_file *stream, int format,
f77_print_array_1 (int nss, int ndimensions, struct type *type,
const bfd_byte *valaddr, CORE_ADDR address,
struct ui_file *stream, int format,
int deref_ref, int recurse, enum val_prettyprint pretty,
int *elts)
{
@ -323,8 +319,9 @@ f77_print_array_1 (int nss, int ndimensions, struct type *type, char *valaddr,
stuff and then immediately call f77_print_array_1() */
static void
f77_print_array (struct type *type, char *valaddr, CORE_ADDR address,
struct ui_file *stream, int format, int deref_ref, int recurse,
f77_print_array (struct type *type, const bfd_byte *valaddr,
CORE_ADDR address, struct ui_file *stream,
int format, int deref_ref, int recurse,
enum val_prettyprint pretty)
{
int ndimensions;
@ -361,7 +358,7 @@ f77_print_array (struct type *type, char *valaddr, CORE_ADDR address,
The PRETTY parameter controls prettyprinting. */
int
f_val_print (struct type *type, char *valaddr, int embedded_offset,
f_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)
{

View File

@ -1,5 +1,7 @@
/* Java language support definitions for GDB, the GNU debugger.
Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright 1997, 1998, 1999, 2000, 2005 Free Software Foundation,
Inc.
This file is part of GDB.
@ -40,7 +42,7 @@ extern struct type *java_float_type;
extern struct type *java_double_type;
extern struct type *java_void_type;
extern int java_val_print (struct type *, char *, int, CORE_ADDR,
extern int java_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);

View File

@ -1,6 +1,6 @@
/* Support for printing Java values for GDB, the GNU debugger.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free
Software Foundation, Inc.
This file is part of GDB.
@ -36,13 +36,6 @@
/* Local functions */
static void java_print_value_fields (struct type * type, char *valaddr,
CORE_ADDR address,
struct ui_file *stream, int format,
int recurse,
enum val_prettyprint pretty);
int
java_value_print (struct value *val, struct ui_file *stream, int format,
enum val_prettyprint pretty)
@ -253,9 +246,9 @@ java_value_print (struct value *val, struct ui_file *stream, int format,
should not print, or zero if called from top level. */
static void
java_print_value_fields (struct type *type, char *valaddr, CORE_ADDR address,
struct ui_file *stream, int format, int recurse,
enum val_prettyprint pretty)
java_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)
{
int i, len, n_baseclasses;
@ -274,7 +267,7 @@ java_print_value_fields (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))
continue;
@ -452,9 +445,10 @@ java_print_value_fields (struct type *type, char *valaddr, CORE_ADDR address,
The PRETTY parameter controls prettyprinting. */
int
java_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)
java_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 */
struct type *target_type;

View File

@ -91,10 +91,6 @@ static struct type *unk_lang_create_fundamental_type (struct objfile *, int);
static void unk_lang_print_type (struct type *, char *, struct ui_file *,
int, int);
static int unk_lang_val_print (struct type *, char *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
static int unk_lang_value_print (struct value *, struct ui_file *, int, enum val_prettyprint);
static CORE_ADDR unk_lang_trampoline (CORE_ADDR pc);
@ -1114,8 +1110,9 @@ unk_lang_print_type (struct type *type, char *varstring, struct ui_file *stream,
}
static int
unk_lang_val_print (struct type *type, char *valaddr, int embedded_offset,
CORE_ADDR address, struct ui_file *stream, int format,
unk_lang_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)
{
error ("internal error - unimplemented function unk_lang_val_print called.");

View File

@ -208,7 +208,7 @@ struct language_defn
/* Print a value using syntax appropriate for this language. */
int (*la_val_print) (struct type *, char *, int, CORE_ADDR,
int (*la_val_print) (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);

View File

@ -1,5 +1,6 @@
/* Modula 2 language support definitions for GDB, the GNU debugger.
Copyright 1992, 1998, 2000 Free Software Foundation, Inc.
Copyright 1992, 1998, 2000, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@ -26,6 +27,6 @@ extern void m2_error (char *); /* Defined in m2-exp.y */
extern void m2_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int m2_val_print (struct type *, char *, int, CORE_ADDR,
extern int m2_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);

View File

@ -27,7 +27,7 @@
#include "c-lang.h"
int
m2_val_print (struct type *type, char *valaddr, int embedded_offset,
m2_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)
{

View File

@ -29,7 +29,8 @@ extern void pascal_error (char *); /* Defined in p-exp.y */
/* Defined in p-typeprint.c */
extern void pascal_print_type (struct type *, char *, struct ui_file *, int, int);
extern int pascal_val_print (struct type *, char *, int, CORE_ADDR, struct ui_file *, int, int,
extern int pascal_val_print (struct type *, const bfd_byte *, int,
CORE_ADDR, struct ui_file *, int, int,
int, enum val_prettyprint);
extern int pascal_value_print (struct value *, struct ui_file *, int, enum val_prettyprint);
@ -71,8 +72,9 @@ extern void pascal_object_print_class_member (const bfd_byte *, struct type *,
extern void pascal_object_print_class_method (const bfd_byte *, struct type *,
struct ui_file *);
extern void pascal_object_print_value_fields (struct type *, char *, CORE_ADDR,
struct ui_file *, int, int, enum val_prettyprint,
extern void pascal_object_print_value_fields (struct type *, const bfd_byte *,
CORE_ADDR, struct ui_file *,
int, int, enum val_prettyprint,
struct type **, int);
extern int pascal_object_is_vtbl_ptr_type (struct type *);

View File

@ -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;
}

View File

@ -1,6 +1,6 @@
/* Scheme/Guile language support routines for GDB, the GNU debugger.
Copyright 1995, 1996, 1998, 1999, 2000, 2003 Free Software
Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2005 Free Software
Foundation, Inc.
This file is part of GDB.
@ -50,7 +50,7 @@ struct value;
extern int scm_value_print (struct value *, struct ui_file *,
int, enum val_prettyprint);
extern int scm_val_print (struct type *, char *, int, CORE_ADDR,
extern int scm_val_print (struct type *, const bfd_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);

View File

@ -359,9 +359,10 @@ taloop:
}
int
scm_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)
scm_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)
{
if (is_scmvalue_type (type))
{

View File

@ -123,9 +123,9 @@ int addressprint; /* Controls printing of machine addresses */
int
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)
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)
{
struct type *real_type = check_typedef (type);
if (pretty == Val_pretty_default)
@ -761,8 +761,9 @@ print_char_chars (struct ui_file *stream, const bfd_byte *valaddr,
*/
void
val_print_array_elements (struct type *type, char *valaddr, CORE_ADDR address,
struct ui_file *stream, int format, int deref_ref,
val_print_array_elements (struct type *type, const bfd_byte *valaddr,
CORE_ADDR address, struct ui_file *stream,
int format, int deref_ref,
int recurse, enum val_prettyprint pretty,
unsigned int i)
{

View File

@ -50,9 +50,10 @@ extern int output_format;
extern int stop_print_at_null; /* Stop printing at null char? */
extern void val_print_array_elements (struct type *, char *, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint, unsigned int);
extern void val_print_array_elements (struct type *, const bfd_byte *,
CORE_ADDR, struct ui_file *, int,
int, int, enum val_prettyprint,
unsigned int);
extern void val_print_type_code_int (struct type *, const bfd_byte *,
struct ui_file *);

View File

@ -479,7 +479,7 @@ extern void value_print_array_elements (struct value *val,
extern struct value *value_release_to_mark (struct value *mark);
extern int val_print (struct type *type, char *valaddr,
extern int 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,