commit 1a9bb1b8888f33d360c2425f039acf6185a408d5
Author: David Malcolm <dmalcolm(a)redhat.com>
Date: Thu Jun 30 16:27:31 2011 -0400
Implement gcc.Tree.__hash__
gcc-python-tree.c | 8 ++++++++
gcc-python-wrappers.h | 3 +++
generate-tree-c.py | 1 +
3 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/gcc-python-tree.c b/gcc-python-tree.c
index ec460ad..6a24372 100644
--- a/gcc-python-tree.c
+++ b/gcc-python-tree.c
@@ -64,6 +64,14 @@ gcc_Tree_str(struct PyGccTree * self)
return NULL;
}
+long
+gcc_Tree_hash(struct PyGccTree * self)
+{
+ /* Use the ptr as the hash value: */
+ return (long)self->t;
+}
+
+
PyObject *
gcc_Tree_richcompare(PyObject *o1, PyObject *o2, int op)
{
diff --git a/gcc-python-wrappers.h b/gcc-python-wrappers.h
index 68aa0af..9ca3c9f 100644
--- a/gcc-python-wrappers.h
+++ b/gcc-python-wrappers.h
@@ -56,6 +56,9 @@ gcc_Cfg_get_basic_blocks(PyGccCfg *self, void *closure);
PyObject *
gcc_Tree_str(struct PyGccTree * self);
+long
+gcc_Tree_hash(struct PyGccTree * self);
+
PyObject *
gcc_Tree_richcompare(PyObject *o1, PyObject *o2, int op);
diff --git a/generate-tree-c.py b/generate-tree-c.py
index 3500f32..8b32d8e 100644
--- a/generate-tree-c.py
+++ b/generate-tree-c.py
@@ -70,6 +70,7 @@ gcc_Tree_get_addr(struct PyGccTree *self, void *closure)
struct_name = 'struct PyGccTree',
tp_new = 'PyType_GenericNew',
tp_getset = 'gcc_Tree_getset_table',
+ tp_hash = '(hashfunc)gcc_Tree_hash',
tp_str = '(reprfunc)gcc_Tree_str',
tp_richcompare = 'gcc_Tree_richcompare')
methods = PyMethodTable('gcc_Tree_methods', [])
Show replies by date