ada-lang.c:ada_value_primitive_packed_val: const correctness

gdb/ChangeLog:
2015-10-13  Pedro Alves  <palves@redhat.com>

	* ada-lang.c (ada_value_primitive_packed_val): Constify
	locals.  Use value_contents_writeable.  Remove casts.
This commit is contained in:
Pedro Alves 2015-10-13 19:40:50 +01:00
parent aa5c10ce9b
commit bfb1c7963b
2 changed files with 15 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2015-10-13 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_value_primitive_packed_val): Constify
locals. Use value_contents_writeable. Remove casts.
2015-10-13 Pedro Alves <palves@redhat.com> 2015-10-13 Pedro Alves <palves@redhat.com>
* ada-lang.c (ada_value_primitive_packed_val): Add casts to malloc * ada-lang.c (ada_value_primitive_packed_val): Add casts to malloc

View file

@ -2525,7 +2525,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
struct type *type) struct type *type)
{ {
struct value *v; struct value *v;
gdb_byte *src; /* First byte containing data to unpack */ const gdb_byte *src; /* First byte containing data to unpack */
gdb_byte *unpacked; gdb_byte *unpacked;
const int is_scalar = is_scalar_type (type); const int is_scalar = is_scalar_type (type);
const int is_big_endian = gdbarch_bits_big_endian (get_type_arch (type)); const int is_big_endian = gdbarch_bits_big_endian (get_type_arch (type));
@ -2536,9 +2536,9 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
type = ada_check_typedef (type); type = ada_check_typedef (type);
if (obj == NULL) if (obj == NULL)
src = (gdb_byte *) valaddr + offset; src = valaddr + offset;
else else
src = (gdb_byte *) value_contents (obj) + offset; src = value_contents (obj) + offset;
if (is_dynamic_type (type)) if (is_dynamic_type (type))
{ {
@ -2574,20 +2574,22 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
if (obj == NULL) if (obj == NULL)
{ {
v = allocate_value (type); v = allocate_value (type);
src = (gdb_byte *) valaddr + offset; src = valaddr + offset;
} }
else if (VALUE_LVAL (obj) == lval_memory && value_lazy (obj)) else if (VALUE_LVAL (obj) == lval_memory && value_lazy (obj))
{ {
int src_len = (bit_size + bit_offset + HOST_CHAR_BIT - 1) / 8; int src_len = (bit_size + bit_offset + HOST_CHAR_BIT - 1) / 8;
gdb_byte *buf;
v = value_at (type, value_address (obj) + offset); v = value_at (type, value_address (obj) + offset);
src = (gdb_byte *) alloca (src_len); buf = (gdb_byte *) alloca (src_len);
read_memory (value_address (v), src, src_len); read_memory (value_address (v), buf, src_len);
src = buf;
} }
else else
{ {
v = allocate_value (type); v = allocate_value (type);
src = (gdb_byte *) value_contents (obj) + offset; src = value_contents (obj) + offset;
} }
if (obj != NULL) if (obj != NULL)
@ -2610,7 +2612,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
} }
else else
set_value_bitsize (v, bit_size); set_value_bitsize (v, bit_size);
unpacked = (gdb_byte *) value_contents (v); unpacked = value_contents_writeable (v);
if (bit_size == 0) if (bit_size == 0)
{ {