aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2011-02-14 11:30:37 +0000
committerPedro Alves <palves@redhat.com>2011-02-14 11:30:37 +0000
commit39d37385568d667a2f5fab7e10adda5813a54467 (patch)
tree4d9623ad33dc78fd0a5036ef9a97eaaa28bdc914 /gdb/value.h
parent06d72e16c409574a7facc283ef1fcd7c5fd5fa05 (diff)
downloadgdb-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/value.h')
-rw-r--r--gdb/value.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/value.h b/gdb/value.h
index 5bd48e0..4dec28e 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -492,6 +492,12 @@ extern struct value *read_var_value (struct symbol *var,
extern struct value *allocate_value (struct type *type);
extern struct value *allocate_value_lazy (struct type *type);
extern void allocate_value_contents (struct value *value);
+extern void value_contents_copy (struct value *dst, int dst_offset,
+ struct value *src, int src_offset,
+ int length);
+extern void value_contents_copy_raw (struct value *dst, int dst_offset,
+ struct value *src, int src_offset,
+ int length);
extern struct value *allocate_repeat_value (struct type *type, int count);