From 9214ee5f5f55de5082571ea066ea6060497fa229 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Wed, 30 Apr 2008 21:13:49 +0000 Subject: * ada-lang.c (ada_value_primitive_packed_val): Only check value_lazy for memory lvals. * findvar.c (value_of_register_lazy): New function. (locate_var_value): Only check value_lazy for memory lvals. * valarith.c (value_subscripted_rvalue): Likewise. * valops.c (value_fetch_lazy): Handle both memory and register lvals. (search_struct_field, value_slice): Only check value_lazy for memory lvals. * value.c (struct value): Update comment for lazy. (value_primitive_field): Only check value_lazy for memory lvals. * value.h (value_lazy): Update comment. (value_of_register_lazy): Declare. --- gdb/value.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'gdb/value.c') diff --git a/gdb/value.c b/gdb/value.c index 2cb989d..52d0030 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -137,9 +137,9 @@ struct value short regnum; /* If zero, contents of this value are in the contents field. If - nonzero, contents are in inferior memory at address in the - location.address field plus the offset field (and the lval field - should be lval_memory). + nonzero, contents are in inferior. If the lval field is lval_memory, + the contents are in inferior memory at location.address plus offset. + The lval field may also be lval_register. WARNING: This field is used by the code which handles watchpoints (see breakpoint.c) to decide whether a particular value can be @@ -1353,7 +1353,7 @@ value_primitive_field (struct value *arg1, int offset, bases, etc. */ v = allocate_value (value_enclosing_type (arg1)); v->type = type; - if (value_lazy (arg1)) + if (VALUE_LVAL (arg1) == lval_memory && value_lazy (arg1)) set_value_lazy (v, 1); else memcpy (value_contents_all_raw (v), value_contents_all_raw (arg1), @@ -1367,7 +1367,7 @@ value_primitive_field (struct value *arg1, int offset, /* Plain old data member */ offset += TYPE_FIELD_BITPOS (arg_type, fieldno) / 8; v = allocate_value (type); - if (value_lazy (arg1)) + if (VALUE_LVAL (arg1) == lval_memory && value_lazy (arg1)) set_value_lazy (v, 1); else memcpy (value_contents_raw (v), -- cgit v1.1