2005-02-07 Andrew Cagney <cagney@gnu.org>
authorAndrew Cagney <cagney@redhat.com>
Mon, 7 Feb 2005 21:42:36 +0000 (21:42 +0000)
committerAndrew Cagney <cagney@redhat.com>
Mon, 7 Feb 2005 21:42:36 +0000 (21:42 +0000)
* 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.

gdb/ChangeLog
gdb/value.c
gdb/value.h

index 452aa1c940210c58c4d379a4e37b2d22348fa418..fab253a1e7b5ad9abc39299aec2f2ca994d0f9b4 100644 (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
index 4bc26ffaa25935dd58aad71ba3e5abbea731201f..1a8796e332cd985d8e5ceed9e4e0f71544d2d451 100644 (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;
+}
 \f
 /* Return a mark in the value chain.  All values allocated after the
    mark is obtained (except for those released) are subject to being freed
index d894252c4e4bd78f3dc2382929faf57ed3ab3cc2..3905b1af07864431e85360b41801fdec7673f283 100644 (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);