@@ -2326,6 +2326,7 @@ public:
uint64_t get_unsigned_value();
void set_unsigned(uint64_t v);
void set_signed(int64_t v);
+ bool operator==(const bound_value&) const;
}; //end class bound_value
/// Hasher for an instance of array::subrange
@@ -14738,6 +14738,17 @@ array_type_def::subrange_type::bound_value::set_signed(int64_t v)
v_.signed_ = v;
}
+/// Equality operator of the bound value.
+///
+/// @param v the other bound value to compare with.
+///
+/// @return true iff the current bound value equals @p v.
+bool
+array_type_def::subrange_type::bound_value::operator==(const bound_value& v) const
+{
+ return s_ == v.s_ && v_.unsigned_ == v.v_.unsigned_;
+}
+
// </array_type_def::subrante_type::bound_value>
struct array_type_def::subrange_type::priv
Hello, I noticed that array_type_def::subrange_type::bound_value didn't have an equality operator. Having one is useful in setting debugger breakpoints to detect when bound values are being compared and analyse why. This patch adds that operator. * include/abg-ir.h (array_type_def::subrange_type::bound_value::operator==): Declare new ... * src/abg-ir.cc (array_type_def::subrange_type::bound_value::operator==): ... equality operator. Signed-off-by: Dodji Seketeli <dodji@redhat.com> Applied to master. --- include/abg-ir.h | 1 + src/abg-ir.cc | 11 +++++++++++ 2 files changed, 12 insertions(+)