mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
simplify ada-valprint.c:ada_val_print_array
Two things: - Move the declaration of a couple of variables inside the block where they are actually used; - Remove some code that checks against NULL/zero, because the condition should always be false. Add some gdb_asserts to make sure we never fail those assumptions. gdb/ChangeLog: * ada-valprint.c (ada_val_print_array): Move the declaration of "byte_order" and "elttype" inside the block where these variables are actually used. Remove some special handling for the case where "elttype" and "eltlen" are null. Replace by a comment and a couple of assertion checks.
This commit is contained in:
parent
acc69ddaff
commit
dd70cc9388
@ -1,3 +1,12 @@
|
||||
2011-03-07 Joel Brobecker <brobecker@adacore.com>
|
||||
Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* ada-valprint.c (ada_val_print_array): Move the declaration of
|
||||
"byte_order" and "elttype" inside the block where these variables
|
||||
are actually used. Remove some special handling for the case
|
||||
where "elttype" and "eltlen" are null. Replace by a comment
|
||||
and a couple of assertion checks.
|
||||
|
||||
2011-03-05 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* source.c (add_path): Replace semicolon at end of block.
|
||||
|
@ -605,25 +605,25 @@ ada_val_print_array (struct type *type, const gdb_byte *valaddr,
|
||||
const struct value *val,
|
||||
const struct value_print_options *options)
|
||||
{
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
|
||||
struct type *elttype = TYPE_TARGET_TYPE (type);
|
||||
int result = 0;
|
||||
|
||||
/* For an array of chars, print with string syntax. */
|
||||
if (ada_is_string_type (type)
|
||||
&& (options->format == 0 || options->format == 's'))
|
||||
{
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
|
||||
struct type *elttype = TYPE_TARGET_TYPE (type);
|
||||
unsigned int eltlen;
|
||||
unsigned int len;
|
||||
|
||||
if (elttype == NULL)
|
||||
eltlen = 0;
|
||||
else
|
||||
eltlen = TYPE_LENGTH (elttype);
|
||||
if (eltlen == 0)
|
||||
len = 0;
|
||||
else
|
||||
len = TYPE_LENGTH (type) / eltlen;
|
||||
/* We know that ELTTYPE cannot possibly be null, because we found
|
||||
that TYPE is a string-like type. Similarly, the size of ELTTYPE
|
||||
should also be non-null, since it's a character-like type. */
|
||||
gdb_assert (elttype != NULL);
|
||||
gdb_assert (TYPE_LENGTH (elttype) != 0);
|
||||
|
||||
eltlen = TYPE_LENGTH (elttype);
|
||||
len = TYPE_LENGTH (type) / eltlen;
|
||||
|
||||
if (options->prettyprint_arrays)
|
||||
print_spaces_filtered (2 + 2 * recurse, stream);
|
||||
|
Loading…
Reference in New Issue
Block a user