gdb-gdb.py.in: Fix ordering of TypeFlags objects with Python 3

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.
This commit is contained in:
Simon Marchi 2018-06-27 14:32:05 -04:00
parent 141ec9f67f
commit 68ad5fb9aa
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2018-06-27 Simon Marchi <simon.marchi@ericsson.com>
* gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
<__lt__>: Add.
2018-06-27 Simon Marchi <simon.marchi@ericsson.com>
* gdb-gdb.py: Move to...

View File

@ -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.