aboutsummaryrefslogtreecommitdiff
path: root/gdb/valarith.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-02-07 00:09:56 +0000
committerAndrew Cagney <cagney@redhat.com>2005-02-07 00:09:56 +0000
commit0fd88904d91d1a137779cd5da6dc9d223fa88d14 (patch)
tree34dfdde621bdd7cfcdbb59c69d53a749c7d48d8f /gdb/valarith.c
parent1b3a857543e77eedd244b0d7d8cadce4e2e0500e (diff)
downloadgdb-0fd88904d91d1a137779cd5da6dc9d223fa88d14.zip
gdb-0fd88904d91d1a137779cd5da6dc9d223fa88d14.tar.gz
gdb-0fd88904d91d1a137779cd5da6dc9d223fa88d14.tar.bz2
2005-02-06 Andrew Cagney <cagney@gnu.org>
* value.c (value_contents, value_contents_writeable): New functions. * value.h (VALUE_CONTENTS): Delete macro. (value_contents, value_contents_writeable): Declare. * xstormy16-tdep.c, value.c, valops.c, valarith.c: Update. * stack.c, sparc-tdep.c, sparc64-tdep.c, sh-tdep.c: Update. * sh64-tdep.c, scm-valprint.c, scm-exp.c, s390-tdep.c: Update. * rs6000-tdep.c, p-valprint.c, printcmd.c: Update. * ppc-sysv-tdep.c, mips-tdep.c, mi/mi-main.c: Update. * m88k-tdep.c, m68hc11-tdep.c, m32r-tdep.c: Update. * jv-valprint.c, ia64-tdep.c, hppa-tdep.c: Update. * hpacc-abi.c, f-valprint.c, frv-tdep.c, eval.c: Update. * c-valprint.c, cris-tdep.c, cp-valprint.c: Update. * cli/cli-dump.c, breakpoint.c, avr-tdep.c, arm-tdep.c: Update. * arm-linux-tdep.c, amd64-tdep.c, alpha-tdep.c: Update. * ada-valprint.c, ada-lang.c: Update.
Diffstat (limited to 'gdb/valarith.c')
-rw-r--r--gdb/valarith.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/gdb/valarith.c b/gdb/valarith.c
index 5b21957..59dde3e 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -229,7 +229,7 @@ value_subscript (struct value *array, struct value *idx)
error ("bitstring index out of range");
index -= lowerbound;
offset = index / TARGET_CHAR_BIT;
- byte = *((char *) VALUE_CONTENTS (array) + offset);
+ byte = *((char *) value_contents (array) + offset);
bit_index = index % TARGET_CHAR_BIT;
byte >>= (BITS_BIG_ENDIAN ? TARGET_CHAR_BIT - 1 - bit_index : bit_index);
v = value_from_longest (LA_BOOL_TYPE, byte & 1);
@@ -271,7 +271,8 @@ value_subscripted_rvalue (struct value *array, struct value *idx, int lowerbound
if (value_lazy (array))
VALUE_LAZY (v) = 1;
else
- memcpy (VALUE_CONTENTS (v), VALUE_CONTENTS (array) + elt_offs, elt_size);
+ memcpy (value_contents_writeable (v),
+ value_contents (array) + elt_offs, elt_size);
if (VALUE_LVAL (array) == lval_internalvar)
VALUE_LVAL (v) = lval_internalvar_component;
@@ -659,7 +660,7 @@ value_concat (struct value *arg1, struct value *arg2)
if (TYPE_CODE (type2) == TYPE_CODE_CHAR)
{
inchar = (char) unpack_long (type2,
- VALUE_CONTENTS (inval2));
+ value_contents (inval2));
for (idx = 0; idx < count; idx++)
{
*(ptr + idx) = inchar;
@@ -669,7 +670,7 @@ value_concat (struct value *arg1, struct value *arg2)
{
for (idx = 0; idx < count; idx++)
{
- memcpy (ptr + (idx * inval2len), VALUE_CONTENTS (inval2),
+ memcpy (ptr + (idx * inval2len), value_contents (inval2),
inval2len);
}
}
@@ -699,20 +700,20 @@ value_concat (struct value *arg1, struct value *arg2)
ptr = (char *) alloca (inval1len + inval2len);
if (TYPE_CODE (type1) == TYPE_CODE_CHAR)
{
- *ptr = (char) unpack_long (type1, VALUE_CONTENTS (inval1));
+ *ptr = (char) unpack_long (type1, value_contents (inval1));
}
else
{
- memcpy (ptr, VALUE_CONTENTS (inval1), inval1len);
+ memcpy (ptr, value_contents (inval1), inval1len);
}
if (TYPE_CODE (type2) == TYPE_CODE_CHAR)
{
*(ptr + inval1len) =
- (char) unpack_long (type2, VALUE_CONTENTS (inval2));
+ (char) unpack_long (type2, value_contents (inval2));
}
else
{
- memcpy (ptr + inval1len, VALUE_CONTENTS (inval2), inval2len);
+ memcpy (ptr + inval1len, value_contents (inval2), inval2len);
}
outval = value_string (ptr, inval1len + inval2len);
}
@@ -1154,7 +1155,7 @@ int
value_logical_not (struct value *arg1)
{
int len;
- char *p;
+ const bfd_byte *p;
struct type *type1;
arg1 = coerce_number (arg1);
@@ -1164,7 +1165,7 @@ value_logical_not (struct value *arg1)
return 0 == value_as_double (arg1);
len = TYPE_LENGTH (type1);
- p = VALUE_CONTENTS (arg1);
+ p = value_contents (arg1);
while (--len >= 0)
{
@@ -1183,8 +1184,8 @@ value_strcmp (struct value *arg1, struct value *arg2)
{
int len1 = TYPE_LENGTH (value_type (arg1));
int len2 = TYPE_LENGTH (value_type (arg2));
- char *s1 = VALUE_CONTENTS (arg1);
- char *s2 = VALUE_CONTENTS (arg2);
+ const bfd_byte *s1 = value_contents (arg1);
+ const bfd_byte *s2 = value_contents (arg2);
int i, len = len1 < len2 ? len1 : len2;
for (i = 0; i < len; i++)
@@ -1212,7 +1213,8 @@ int
value_equal (struct value *arg1, struct value *arg2)
{
int len;
- char *p1, *p2;
+ const bfd_byte *p1;
+ const bfd_byte *p2;
struct type *type1, *type2;
enum type_code code1;
enum type_code code2;
@@ -1246,8 +1248,8 @@ value_equal (struct value *arg1, struct value *arg2)
&& ((len = (int) TYPE_LENGTH (type1))
== (int) TYPE_LENGTH (type2)))
{
- p1 = VALUE_CONTENTS (arg1);
- p2 = VALUE_CONTENTS (arg2);
+ p1 = value_contents (arg1);
+ p2 = value_contents (arg2);
while (--len >= 0)
{
if (*p1++ != *p2++)
@@ -1363,7 +1365,7 @@ value_complement (struct value *arg1)
}
/* The INDEX'th bit of SET value whose value_type is TYPE,
- and whose VALUE_CONTENTS is valaddr.
+ and whose value_contents is valaddr.
Return -1 if out of range, -2 other error. */
int
@@ -1401,7 +1403,7 @@ value_in (struct value *element, struct value *set)
&& TYPE_CODE (eltype) != TYPE_CODE_ENUM
&& TYPE_CODE (eltype) != TYPE_CODE_BOOL)
error ("First argument of 'IN' has wrong type");
- member = value_bit_index (settype, VALUE_CONTENTS (set),
+ member = value_bit_index (settype, value_contents (set),
value_as_long (element));
if (member < 0)
error ("First argument of 'IN' not in range");