OSDN Git Service

2005-02-07 Andrew Cagney <cagney@gnu.org>
authorcagney <cagney>
Tue, 8 Feb 2005 00:25:28 +0000 (00:25 +0000)
committercagney <cagney>
Tue, 8 Feb 2005 00:25:28 +0000 (00:25 +0000)
* value.h (deprecated_set_value_modifiable)
(deprecated_value_modifiable): Declare.
* value.c (deprecated_set_value_modifiable): Define.
(deprecated_value_modifiable): Define.
* ada-lang.c, valops.c, breakpoint.c, tracepoint.c: Update.

gdb/ChangeLog
gdb/ada-lang.c
gdb/breakpoint.c
gdb/tracepoint.c
gdb/valops.c
gdb/value.c
gdb/value.h

index fca3e11..9db3091 100644 (file)
@@ -1,5 +1,11 @@
 2005-02-07  Andrew Cagney  <cagney@gnu.org>
 
+       * value.h (deprecated_set_value_modifiable)
+       (deprecated_value_modifiable): Declare.
+       * value.c (deprecated_set_value_modifiable): Define.
+       (deprecated_value_modifiable): Define.
+       * ada-lang.c, valops.c, breakpoint.c, tracepoint.c: Update.
+
        * value.h (deprecated_set_value_type): Declare.
        * value.c (deprecated_set_value_type): Define.
        * hpacc-abi.c, gnu-v2-abi.c, cp-valprint.c: Update.
index 3526505..b3bed52 100644 (file)
@@ -2008,7 +2008,7 @@ ada_value_assign (struct value *toval, struct value *fromval)
   struct type *type = value_type (toval);
   int bits = value_bitsize (toval);
 
-  if (!toval->modifiable)
+  if (!deprecated_value_modifiable (toval))
     error (_("Left operand of assignment is not a modifiable lvalue."));
 
   toval = coerce_ref (toval);
index 8c0d429..645fd03 100644 (file)
@@ -5821,7 +5821,7 @@ can_use_hardware_watchpoint (struct value *v)
                }
            }
        }
-      else if (v->lval != not_lval && v->modifiable == 0)
+      else if (v->lval != not_lval && deprecated_value_modifiable (v) == 0)
        return 0;       /* ??? What does this represent? */
       else if (v->lval == lval_register)
        return 0;       /* cannot watch a register with a HW watchpoint */
index 6de409e..6faec3e 100644 (file)
@@ -300,7 +300,7 @@ set_traceframe_context (CORE_ADDR trace_pc)
       memcpy (value_contents_raw (func_val),
              DEPRECATED_SYMBOL_NAME (traceframe_fun),
              len);
-      func_val->modifiable = 0;
+      deprecated_set_value_modifiable (func_val, 0);
       set_internalvar (lookup_internalvar ("trace_func"), func_val);
     }
 
@@ -322,7 +322,7 @@ set_traceframe_context (CORE_ADDR trace_pc)
       memcpy (value_contents_raw (file_val),
              traceframe_sal.symtab->filename,
              len);
-      file_val->modifiable = 0;
+      deprecated_set_value_modifiable (file_val, 0);
       set_internalvar (lookup_internalvar ("trace_file"), file_val);
     }
 }
index 56e4645..de1b1a7 100644 (file)
@@ -521,7 +521,7 @@ value_assign (struct value *toval, struct value *fromval)
   struct value *val;
   struct frame_id old_frame;
 
-  if (!toval->modifiable)
+  if (!deprecated_value_modifiable (toval))
     error ("Left operand of assignment is not a modifiable lvalue.");
 
   toval = coerce_ref (toval);
index e338dd2..13585b5 100644 (file)
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-/* Hack so that value.h can detect when it's being included by
-   value.c.  */
-#define VALUE_C
-
 #include "defs.h"
 #include "gdb_string.h"
 #include "symtab.h"
@@ -273,6 +269,17 @@ deprecated_value_regnum_hack (struct value *value)
 {
   return &value->regnum;
 }
+
+int
+deprecated_value_modifiable (struct value *value)
+{
+  return value->modifiable;
+}
+void
+deprecated_set_value_modifiable (struct value *value, int modifiable)
+{
+  value->modifiable = modifiable;
+}
 \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 762f1f2..172e3f9 100644 (file)
@@ -80,11 +80,7 @@ struct value
   struct frame_id frame_id;
 
   /* Type of the value.  */
-#ifdef VALUE_C
   struct type *type;
-#else
-  struct type *xtype;
-#endif
 
   /* If a value represents a C++ object, then the `type' field gives
      the object's compile-time type.  If the object actually belongs
@@ -187,6 +183,13 @@ extern int value_bitsize (struct value *);
 extern int value_bitpos (struct value *);
 extern int value_offset (struct value *);
 
+/* The comment from "struct value" reads: ``Is it modifiable?  Only
+   relevant if lval != not_lval.''.  Shouldn't the value instead be
+   not_lval and be done with it?  */
+extern int deprecated_value_modifiable (struct value *value);
+extern void deprecated_set_value_modifiable (struct value *value,
+                                            int modifiable);
+
 extern struct type *value_enclosing_type (struct value *);
 extern int value_lazy (struct value *);
 extern void set_value_lazy (struct value *value, int val);