* p-valprint.c (pascal_val_print): Call get_array_bounds

to obtain the number of elements in an array.
This commit is contained in:
Pierre Muller 2010-05-20 07:41:40 +00:00
parent c1527ce688
commit 8148cf8d75
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2010-05-20 Pierre Muller <muller@ics.u-strasbg.fr>
* p-valprint.c (pascal_val_print): Call get_array_bounds
to obtain the number of elements in an array.
2010-05-19 Doug Evans <dje@google.com>
* python.c (gdbpy_print_stack): Ensure output ends with a newline.

View File

@ -60,6 +60,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
unsigned int i = 0; /* Number of characters printed */
unsigned len;
long low_bound, high_bound;
struct type *elttype;
unsigned eltlen;
int length_pos, length_size, string_pos;
@ -71,11 +72,11 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
switch (TYPE_CODE (type))
{
case TYPE_CODE_ARRAY:
if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0)
if (get_array_bounds (type, &low_bound, &high_bound))
{
len = high_bound - low_bound + 1;
elttype = check_typedef (TYPE_TARGET_TYPE (type));
eltlen = TYPE_LENGTH (elttype);
len = TYPE_LENGTH (type) / eltlen;
if (options->prettyprint_arrays)
{
print_spaces_filtered (2 + 2 * recurse, stream);