mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 09:08:59 +00:00
* value.h (value_contents_equal): New prototype.
* value.c (value_contents_equal): New function. * varobj.c: Include "exceptions.h" and "gdb_assert.h". Don't include <math.h>. (varobj_set_value): Initialize error to zero. (varobj_update): Rename error2 to error and initialize it to zero. Slightly change the wording of some comments. (my_value_equal): Reimplement using TRY_CATCH and value_contents_equal.
This commit is contained in:
20
gdb/value.c
20
gdb/value.c
@@ -358,6 +358,26 @@ value_contents_writeable (struct value *value)
|
||||
return value->aligner.contents;
|
||||
}
|
||||
|
||||
/* Return non-zero if VAL1 and VAL2 have the same contents. Note that
|
||||
this function is different from value_equal; in C the operator ==
|
||||
can return 0 even if the two values being compared are equal. */
|
||||
|
||||
int
|
||||
value_contents_equal (struct value *val1, struct value *val2)
|
||||
{
|
||||
struct type *type1;
|
||||
struct type *type2;
|
||||
int len;
|
||||
|
||||
type1 = check_typedef (value_type (val1));
|
||||
type2 = check_typedef (value_type (val2));
|
||||
len = TYPE_LENGTH (type1);
|
||||
if (len != TYPE_LENGTH (type2))
|
||||
return 0;
|
||||
|
||||
return (memcmp (value_contents (val1), value_contents (val2), len) == 0);
|
||||
}
|
||||
|
||||
int
|
||||
value_optimized_out (struct value *value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user