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.
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);
}
}
}
- 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 */
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);
}
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);
}
}
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);
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"
{
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
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
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);