mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-31 18:20:12 +08:00
Allow conversion of pointers to Python int
PR python/18170 questions why it's not possible to convert a pointer value to a Python int. Digging a bit shows that the Python 2.7 int() constructor will happily return a long in some cases. And, it seems gdb already understands this in other places -- this is what gdb_py_object_from_longest handles. So, this patch simply extends valpy_int to allow pointer conversions, as valpy_long does. gdb/ChangeLog 2018-09-23 Tom Tromey <tom@tromey.com> PR python/18170: * python/py-value.c (valpy_int): Allow conversion from pointer type. gdb/testsuite/ChangeLog 2018-09-23 Tom Tromey <tom@tromey.com> PR python/18170: * gdb.python/py-value.exp (test_value_numeric_ops): Add tests to convert pointers to int and long.
This commit is contained in:
@ -1503,7 +1503,8 @@ valpy_int (PyObject *self)
|
||||
value = value_cast (type, value);
|
||||
}
|
||||
|
||||
if (!is_integral_type (type))
|
||||
if (!is_integral_type (type)
|
||||
&& TYPE_CODE (type) != TYPE_CODE_PTR)
|
||||
error (_("Cannot convert value to int."));
|
||||
|
||||
l = value_as_long (value);
|
||||
|
Reference in New Issue
Block a user