summaryrefslogtreecommitdiff
path: root/gdb/values.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2001-11-30 17:47:51 +0000
committerDaniel Jacobowitz <dan@debian.org>2001-11-30 17:47:51 +0000
commit55453fb0147de81ff4ea02d86050dcd94dc8e0fd (patch)
tree85396fe6e409039057a3638e952de61c45091ef7 /gdb/values.c
parent6e9534ac32c0e3358e83167ddd551eaadc6b4a2b (diff)
downloadgdb-55453fb0147de81ff4ea02d86050dcd94dc8e0fd.tar.gz
* values.c (value_primitive_field): Add embedded_offset to the
address of structure members. * gnu-v3-abi.c (gnuv3_rtti_type): Cast to base type before attempting to access vtable pointer. Set using_enc_p if we cast. (gnuv3_virtual_fn_field): Call value_cast with structure rather than structure pointer. Cast to base type before attempting to access vtable pointer.
Diffstat (limited to 'gdb/values.c')
-rw-r--r--gdb/values.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/values.c b/gdb/values.c
index d9a523fb4fe..5647097e1b9 100644
--- a/gdb/values.c
+++ b/gdb/values.c
@@ -929,7 +929,8 @@ value_primitive_field (register value_ptr arg1, int offset,
memcpy (VALUE_CONTENTS_RAW (v),
VALUE_CONTENTS_RAW (arg1) + offset,
TYPE_LENGTH (type));
- VALUE_OFFSET (v) = VALUE_OFFSET (arg1) + offset;
+ VALUE_OFFSET (v) = VALUE_OFFSET (arg1) + offset
+ + VALUE_EMBEDDED_OFFSET (arg1);
}
VALUE_LVAL (v) = VALUE_LVAL (arg1);
if (VALUE_LVAL (arg1) == lval_internalvar)