diff options
author | Pedro Alves <palves@redhat.com> | 2011-02-14 11:30:37 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2011-02-14 11:30:37 +0000 |
commit | 39d37385568d667a2f5fab7e10adda5813a54467 (patch) | |
tree | 4d9623ad33dc78fd0a5036ef9a97eaaa28bdc914 /gdb/valarith.c | |
parent | 06d72e16c409574a7facc283ef1fcd7c5fd5fa05 (diff) | |
download | gdb-39d37385568d667a2f5fab7e10adda5813a54467.zip gdb-39d37385568d667a2f5fab7e10adda5813a54467.tar.gz gdb-39d37385568d667a2f5fab7e10adda5813a54467.tar.bz2 |
gdb/
* value.h (value_contents_copy, value_contents_copy_raw): Declare.
* value.c (value_contents_copy_raw, value_contents_copy): New
functions.
(value_primitive_field): Use value_contents_copy_raw instead of
memcpy.
* valops.c (value_fetch_lazy): Use value_contents_copy instead of
memcpy.
(value_array, value_slice): Ditto.
* valarith.c (value_subscripted_rvalue): Use
value_contents_copy_raw instead of memcpy.
gdb/testsuite/
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add new
tests for building arrays from unavailable values, subscripting
non-memory rvalue unvailable arrays, and accessing fields or
baseclasses of non-lazy unavailable values,
* gdb.trace/unavailable.cc (small_struct, small_struct_b): New
struct types.
(g_smallstruct, g_smallstruct_b): New globals.
Diffstat (limited to 'gdb/valarith.c')
-rw-r--r-- | gdb/valarith.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/valarith.c b/gdb/valarith.c index 265532c..787fc69 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -210,8 +210,9 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound) else { v = allocate_value (elt_type); - memcpy (value_contents_writeable (v), - value_contents (array) + elt_offs, elt_size); + value_contents_copy (v, value_embedded_offset (v), + array, value_embedded_offset (array) + elt_offs, + elt_size); } set_value_component_location (v, array); |