[PATCH 2/3] gdb-gdb.py.in: Fix ordering of TypeFlags objects with Python 3
Simon Marchi
simon.marchi@ericsson.com
Fri Jun 15 21:27:00 GMT 2018
Python 3 doesn't use __cmp__ to order objects, it uses __lt__. Because
of this, we get this exception when trying to pretty-print "type"
objects:
I tested it with Python 2.7 as well.
gdb/ChangeLog:
* gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
<__lt__>: Add.
---
gdb/gdb-gdb.py.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gdb/gdb-gdb.py.in b/gdb/gdb-gdb.py.in
index b8bb1ad..c844e4c 100644
--- a/gdb/gdb-gdb.py.in
+++ b/gdb/gdb-gdb.py.in
@@ -38,9 +38,11 @@ class TypeFlag:
self.name = name
self.value = value
self.short_name = name.replace("TYPE_INSTANCE_FLAG_", '')
- def __cmp__(self, other):
+
+ def __lt__(self, other):
"""Sort by value order."""
- return self.value.__cmp__(other.value)
+ return self.value < other.value
+
# A list of all existing TYPE_INSTANCE_FLAGS_* enumerations,
# stored as TypeFlags objects. Lazy-initialized.
--
2.7.4
More information about the Gdb-patches
mailing list