forked from Imagelibrary/binutils-gdb
Adjust Value.location for lval_register
value.regnum and value.next_frame_id are only used for lval_register, so this patch moves them to union value.location. As a result, when we copy value, only copy location, don't need to copy regnum and next_frame_id. This patch also changes regnum's type to int as there is no space constraint, so update deprecated_value_regnum_hack return type too. gdb: 2016-11-28 Yao Qi <yao.qi@linaro.org> * valops.c (value_slice): Don't set frame id of slice. * value.c (struct value) <regnum, next_frame_id>: Move them to... (struct value) <location>: ... here. Update comments. (allocate_value_lazy): Don't set frame id and regnum. (deprecated_value_next_frame_id_hack): Adjust. (deprecated_value_regnum_hack): Adjust. (value_copy): Don't copy frame id and regnu. (value_primitive_field): Likewise. (value_from_component): Likewise. (deprecated_value_regnum_hack): Return int *. * value.h (deprecated_value_regnum_hack): Update declaration.
This commit is contained in:
@@ -448,7 +448,7 @@ extern struct frame_id *deprecated_value_next_frame_id_hack (struct value *);
|
||||
#define VALUE_FRAME_ID(val) (get_prev_frame_id_by_id (VALUE_NEXT_FRAME_ID (val)))
|
||||
|
||||
/* Register number if the value is from a register. */
|
||||
extern short *deprecated_value_regnum_hack (struct value *);
|
||||
extern int *deprecated_value_regnum_hack (struct value *);
|
||||
#define VALUE_REGNUM(val) (*deprecated_value_regnum_hack (val))
|
||||
|
||||
/* Return value after lval_funcs->coerce_ref (after check_typedef). Return
|
||||
|
||||
Reference in New Issue
Block a user