make is_scalar_type non-static and use it in ada-lang.c
Just a small cleanup, to avoid code duplication... gdb/ChangeLog: * gdbtypes.h (is_scalar_type): Add extern declaration. * gdbtypes.c (is_scalar_type): Make non-static. * ada-lang.c (ada_value_primitive_packed_val): Use is_scalar_type to compute IS_SCALAR instead of doing it ourselves.
This commit is contained in:
parent
d0a9e81089
commit
220475ed8b
4 changed files with 11 additions and 14 deletions
|
@ -1,3 +1,10 @@
|
|||
2015-10-09 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* gdbtypes.h (is_scalar_type): Add extern declaration.
|
||||
* gdbtypes.c (is_scalar_type): Make non-static.
|
||||
* ada-lang.c (ada_value_primitive_packed_val): Use is_scalar_type
|
||||
to compute IS_SCALAR instead of doing it ourselves.
|
||||
|
||||
2015-10-09 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* ada-lang.c (ada_value_primitive_packed_val): Rework handling
|
||||
|
|
|
@ -2519,7 +2519,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
|
|||
gdb_byte *src; /* First byte containing data to unpack */
|
||||
int src_len = (bit_size + bit_offset + HOST_CHAR_BIT - 1) / 8;
|
||||
gdb_byte *unpacked;
|
||||
int is_scalar;
|
||||
const int is_scalar = is_scalar_type (type);
|
||||
const int is_big_endian = gdbarch_bits_big_endian (get_type_arch (type));
|
||||
gdb_byte *staging = NULL;
|
||||
int staging_len = 0;
|
||||
|
@ -2527,18 +2527,6 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
|
|||
|
||||
type = ada_check_typedef (type);
|
||||
|
||||
switch (TYPE_CODE (type))
|
||||
{
|
||||
case TYPE_CODE_ARRAY:
|
||||
case TYPE_CODE_UNION:
|
||||
case TYPE_CODE_STRUCT:
|
||||
is_scalar = 0;
|
||||
break;
|
||||
default:
|
||||
is_scalar = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (obj == NULL)
|
||||
src = (gdb_byte *) valaddr + offset;
|
||||
else
|
||||
|
|
|
@ -2717,7 +2717,7 @@ is_integral_type (struct type *t)
|
|||
|
||||
/* Return true if TYPE is scalar. */
|
||||
|
||||
static int
|
||||
int
|
||||
is_scalar_type (struct type *type)
|
||||
{
|
||||
type = check_typedef (type);
|
||||
|
|
|
@ -1912,6 +1912,8 @@ extern int can_dereference (struct type *);
|
|||
|
||||
extern int is_integral_type (struct type *);
|
||||
|
||||
extern int is_scalar_type (struct type *type);
|
||||
|
||||
extern int is_scalar_type_recursive (struct type *);
|
||||
|
||||
extern int class_or_union_p (const struct type *);
|
||||
|
|
Loading…
Reference in a new issue