aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/value.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f053ca3..3cc9a20 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-23 Vladimir Prus <vladimir@codesourcery.com>
+
+ * value.c (value_primitive_field): Copy the full 'location'
+ contents, instead of assuming that copying ADDRESS will
+ bring over everything in the union. Remove obsolete comment.
+
2007-01-23 Masaki Muranaka <monaka@monami-software.com>
* m32c-tdep.c (make_regs, m32c_analyze_prologue)
diff --git a/gdb/value.c b/gdb/value.c
index c6b9ca9..ffb70fb 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -1343,11 +1343,9 @@ value_primitive_field (struct value *arg1, int offset,
VALUE_LVAL (v) = VALUE_LVAL (arg1);
if (VALUE_LVAL (arg1) == lval_internalvar)
VALUE_LVAL (v) = lval_internalvar_component;
- VALUE_ADDRESS (v) = VALUE_ADDRESS (arg1);
+ v->location = arg1->location;
VALUE_REGNUM (v) = VALUE_REGNUM (arg1);
VALUE_FRAME_ID (v) = VALUE_FRAME_ID (arg1);
-/* VALUE_OFFSET (v) = VALUE_OFFSET (arg1) + offset
- + TYPE_FIELD_BITPOS (arg_type, fieldno) / 8; */
return v;
}