diff options
author | Daniel Jacobowitz <dan@debian.org> | 2001-11-30 17:47:51 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2001-11-30 17:47:51 +0000 |
commit | 55453fb0147de81ff4ea02d86050dcd94dc8e0fd (patch) | |
tree | 85396fe6e409039057a3638e952de61c45091ef7 /gdb/values.c | |
parent | 6e9534ac32c0e3358e83167ddd551eaadc6b4a2b (diff) | |
download | gdb-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.c | 3 |
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) |