2005-02-07 Andrew Cagney <cagney@gnu.org>

* value.h (deprecated_value_lval_hack)
	(deprecated_value_address_hack)
	(deprecated_value_internalvar_hack_hack)
	(deprecated_value_regnum_hack): Declare.
	(VALUE_LVAL, VALUE_ADDRESS, VALUE_INTERNALVAR)
	(VALUE_FRAME_ID, VALUE_REGNUM): Use.
	* value.c (deprecated_value_lval_hack)
	(deprecated_value_address_hack)
	(deprecated_value_internalvar_hack_hack)
	(deprecated_value_regnum_hack): Define.
This commit is contained in:
Andrew Cagney 2005-02-07 21:42:36 +00:00
parent b44d461b0e
commit 13bb5560e2
3 changed files with 55 additions and 5 deletions

View File

@ -1,5 +1,16 @@
2005-02-07 Andrew Cagney <cagney@gnu.org>
* value.h (deprecated_value_lval_hack)
(deprecated_value_address_hack)
(deprecated_value_internalvar_hack_hack)
(deprecated_value_regnum_hack): Declare.
(VALUE_LVAL, VALUE_ADDRESS, VALUE_INTERNALVAR)
(VALUE_FRAME_ID, VALUE_REGNUM): Use.
* value.c (deprecated_value_lval_hack)
(deprecated_value_address_hack)
(deprecated_value_internalvar_hack_hack)
(deprecated_value_regnum_hack): Define.
* value.h (VALUE_POINTED_TO_OFFSET): Delete.
(set_value_pointed_to_offset, value_pointed_to_offset): Declare.
* value.c (set_value_pointed_to_offset): Define

View File

@ -234,6 +234,36 @@ set_value_pointed_to_offset (struct value *value, int val)
{
value->pointed_to_offset = val;
}
enum lval_type *
deprecated_value_lval_hack (struct value *value)
{
return &value->lval;
}
CORE_ADDR *
deprecated_value_address_hack (struct value *value)
{
return &value->location.address;
}
struct internalvar **
deprecated_value_internalvar_hack (struct value *value)
{
return &value->location.internalvar;
}
struct frame_id *
deprecated_value_frame_id_hack (struct value *value)
{
return &value->frame_id;
}
short *
deprecated_value_regnum_hack (struct value *value)
{
return &value->regnum;
}
/* Return a mark in the value chain. All values allocated after the
mark is obtained (except for those released) are subject to being freed

View File

@ -208,11 +208,6 @@ extern const bfd_byte *value_contents_all (struct value *);
extern int value_fetch_lazy (struct value *val);
#define VALUE_LVAL(val) (val)->lval
#define VALUE_ADDRESS(val) (val)->location.address
#define VALUE_INTERNALVAR(val) (val)->location.internalvar
#define VALUE_FRAME_ID(val) ((val)->frame_id)
#define VALUE_REGNUM(val) (val)->regnum
extern int value_optimized_out (struct value *value);
extern void set_value_optimized_out (struct value *value, int val);
extern int value_embedded_offset (struct value *value);
@ -220,6 +215,20 @@ extern void set_value_embedded_offset (struct value *value, int val);
extern int value_pointed_to_offset (struct value *value);
extern void set_value_pointed_to_offset (struct value *value, int val);
/* While the following fields are per- VALUE .CONTENT .PIECE (i.e., a
single value might have multiple LVALs), this hacked interface is
limited to just the first PIECE. Expect further change. */
extern enum lval_type *deprecated_value_lval_hack (struct value *);
#define VALUE_LVAL(val) (*deprecated_value_lval_hack (val))
extern CORE_ADDR *deprecated_value_address_hack (struct value *);
#define VALUE_ADDRESS(val) (*deprecated_value_address_hack (val))
extern struct internalvar **deprecated_value_internalvar_hack (struct value *);
#define VALUE_INTERNALVAR(val) (*deprecated_value_internalvar_hack (val))
extern struct frame_id *deprecated_value_frame_id_hack (struct value *);
#define VALUE_FRAME_ID(val) (*deprecated_value_frame_id_hack (val))
extern short *deprecated_value_regnum_hack (struct value *);
#define VALUE_REGNUM(val) (*deprecated_value_regnum_hack (val))
/* Convert a REF to the object referenced. */
extern struct value *coerce_ref (struct value *value);