<rdar://problem/12442990> Fix the implementation of lldb.value.__eq__
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165344 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/python-extensions.swig b/scripts/Python/python-extensions.swig
index da70f20..f9e5a13 100644
--- a/scripts/Python/python-extensions.swig
+++ b/scripts/Python/python-extensions.swig
@@ -690,7 +690,15 @@
return '0x%x' % self.sbvalue.GetValueAsUnsigned()
def __eq__(self, other):
- return self.sbvalue.GetValueAsUnsigned() == self.sbvalue.GetValueAsUnsigned()
+ self_err = SBError()
+ other_err = SBError()
+ self_val = self.sbvalue.GetValueAsUnsigned(self_err)
+ if self_err.fail:
+ raise ValueError("unable to extract value of self")
+ other_val = other.sbvalue.GetValueAsUnsigned(other_err)
+ if other_err.fail:
+ raise ValueError("unable to extract value of other")
+ return self_val == other_val
def __neq__(self, other):
return not self.__eq__(other)