From 88d4aea7473bf93d98ba72a5f955f428cd365431 Mon Sep 17 00:00:00 2001 From: Phil Muldoon Date: Fri, 14 May 2010 11:11:28 +0000 Subject: 2010-05-14 Phil Muldoon PR python/11482 * python/py-value.c (valpy_hash): New function. (value_object_type): Register valpy_hash. 2010-05-14 Phil Muldoon PR python/11482 * gdb.python/py-value.exp (test_value_hash): New function --- gdb/python/py-value.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gdb/python') diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index 173b3c9..abf50ff 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -432,6 +432,14 @@ valpy_get_is_optimized_out (PyObject *self, void *closure) Py_RETURN_FALSE; } +/* Calculate and return the address of the PyObject as the value of + the builtin __hash__ call. */ +static long +valpy_hash (PyObject *self) +{ + return (long) (intptr_t) self; +} + enum valpy_opcode { VALPY_ADD, @@ -1097,7 +1105,7 @@ PyTypeObject value_object_type = { &value_object_as_number, /*tp_as_number*/ 0, /*tp_as_sequence*/ &value_object_as_mapping, /*tp_as_mapping*/ - 0, /*tp_hash */ + valpy_hash, /*tp_hash*/ 0, /*tp_call*/ valpy_str, /*tp_str*/ 0, /*tp_getattro*/ -- cgit v1.1