From ca922ee40ab51547f0b3580f3f480bbac8be77a0 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 13 Jan 2009 10:34:30 +0000 Subject: 2009-01-13 Jim Blandy Abstract out common code for copying value locations. * value.h (set_value_component_location): New declaration. * value.c (set_value_component_location): New function. (value_primitive_field): Use it. * valarith.c (value_subscript, value_subscripted_rvalue): Same. * valops.c (search_struct_field, value_slice): Same. * ada-lang.c (coerce_unspec_val_to_type) (ada_value_primitive_packed_val): Same. --- gdb/valarith.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'gdb/valarith.c') diff --git a/gdb/valarith.c b/gdb/valarith.c index 48f2e95513d..f38cdb842fc 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -233,11 +233,7 @@ value_subscripted_rvalue (struct value *array, struct value *idx, int lowerbound memcpy (value_contents_writeable (v), value_contents (array) + elt_offs, elt_size); - if (VALUE_LVAL (array) == lval_internalvar) - VALUE_LVAL (v) = lval_internalvar_component; - else - VALUE_LVAL (v) = VALUE_LVAL (array); - VALUE_ADDRESS (v) = VALUE_ADDRESS (array); + set_value_component_location (v, array); VALUE_REGNUM (v) = VALUE_REGNUM (array); VALUE_FRAME_ID (v) = VALUE_FRAME_ID (array); set_value_offset (v, value_offset (array) + elt_offs); @@ -277,11 +273,7 @@ value_bitstring_subscript (struct type *type, set_value_bitpos (v, bit_index); set_value_bitsize (v, 1); - - VALUE_LVAL (v) = VALUE_LVAL (bitstring); - if (VALUE_LVAL (bitstring) == lval_internalvar) - VALUE_LVAL (v) = lval_internalvar_component; - VALUE_ADDRESS (v) = VALUE_ADDRESS (bitstring); + set_value_component_location (v, bitstring); VALUE_FRAME_ID (v) = VALUE_FRAME_ID (bitstring); set_value_offset (v, offset + value_offset (bitstring)); -- cgit v1.2.1