diff options
author | Benjamin Peterson <benjamin@python.org> | 2010-10-17 20:54:53 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2010-10-17 20:54:53 (GMT) |
commit | 8f67d0893f7170986b0ad370844318544270cbcc (patch) | |
tree | 4aec6cf093d4d042d18d1fadc3ce52765d32bd8d /Python | |
parent | 6fb457526cef485d64f4f6744d81cae8c02032b3 (diff) | |
download | cpython-8f67d0893f7170986b0ad370844318544270cbcc.zip cpython-8f67d0893f7170986b0ad370844318544270cbcc.tar.gz cpython-8f67d0893f7170986b0ad370844318544270cbcc.tar.bz2 |
make hashes always the size of pointers; introduce Py_hash_t #9778
Diffstat (limited to 'Python')
-rw-r--r-- | Python/bltinmodule.c | 4 | ||||
-rw-r--r-- | Python/ceval.c | 2 | ||||
-rw-r--r-- | Python/sysmodule.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index ece2a37..4604519 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1148,12 +1148,12 @@ Delete a named attribute on an object; delattr(x, 'y') is equivalent to\n\ static PyObject * builtin_hash(PyObject *self, PyObject *v) { - long x; + Py_hash_t x; x = PyObject_Hash(v); if (x == -1) return NULL; - return PyLong_FromLong(x); + return PyLong_FromSsize_t(x); } PyDoc_STRVAR(hash_doc, diff --git a/Python/ceval.c b/Python/ceval.c index f85f33a..1eb5f62 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -2102,7 +2102,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) /* Inline the PyDict_GetItem() calls. WARNING: this is an extreme speed hack. Do not try this at home. */ - long hash = ((PyUnicodeObject *)w)->hash; + Py_hash_t hash = ((PyUnicodeObject *)w)->hash; if (hash != -1) { PyDictObject *d; PyDictEntry *e; diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 6c563f0..033c9d5 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -567,7 +567,7 @@ get_hash_info(void) if (hash_info == NULL) return NULL; PyStructSequence_SET_ITEM(hash_info, field++, - PyLong_FromLong(8*sizeof(long))); + PyLong_FromLong(8*sizeof(Py_hash_t))); PyStructSequence_SET_ITEM(hash_info, field++, PyLong_FromLong(_PyHASH_MODULUS)); PyStructSequence_SET_ITEM(hash_info, field++, |