ada-lang.c:ada_value_primitive_packed_val: const correctness
authorPedro Alves <palves@redhat.com>
Tue, 13 Oct 2015 18:40:50 +0000 (19:40 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 13 Oct 2015 18:40:50 +0000 (19:40 +0100)
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.

gdb/ChangeLog
gdb/ada-lang.c

index c141fac699003a685440d4d9531ea571fc8c4daa..63d05600e18fdeff1d4d1c4c703f78390a8149d5 100644 (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>
 
        * ada-lang.c (ada_value_primitive_packed_val): Add casts to malloc
index 6d1998a6c733c425b718c0d1f81694b41e0c2632..383db9963cec204ac37da44189334f1e597a495a 100644 (file)
@@ -2525,7 +2525,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
                                 struct type *type)
 {
   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;
   const int is_scalar = is_scalar_type (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);
 
   if (obj == NULL)
-    src = (gdb_byte *) valaddr + offset;
+    src = valaddr + offset;
   else
-    src = (gdb_byte *) value_contents (obj) + offset;
+    src = value_contents (obj) + offset;
 
   if (is_dynamic_type (type))
     {
@@ -2574,20 +2574,22 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
   if (obj == NULL)
     {
       v = allocate_value (type);
-      src = (gdb_byte *) valaddr + offset;
+      src = valaddr + offset;
     }
   else if (VALUE_LVAL (obj) == lval_memory && value_lazy (obj))
     {
       int src_len = (bit_size + bit_offset + HOST_CHAR_BIT - 1) / 8;
+      gdb_byte *buf;
 
       v = value_at (type, value_address (obj) + offset);
-      src = (gdb_byte *) alloca (src_len);
-      read_memory (value_address (v), src, src_len);
+      buf = (gdb_byte *) alloca (src_len);
+      read_memory (value_address (v), buf, src_len);
+      src = buf;
     }
   else
     {
       v = allocate_value (type);
-      src = (gdb_byte *) value_contents (obj) + offset;
+      src = value_contents (obj) + offset;
     }
 
   if (obj != NULL)
@@ -2610,7 +2612,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
     }
   else
     set_value_bitsize (v, bit_size);
-  unpacked = (gdb_byte *) value_contents (v);
+  unpacked = value_contents_writeable (v);
 
   if (bit_size == 0)
     {