<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)