diff options
author | Lisandro Dalcin <dalcinl@gmail.com> | 2015-03-18 13:31:53 +0300 |
---|---|---|
committer | Lisandro Dalcin <dalcinl@gmail.com> | 2015-03-18 13:31:53 +0300 |
commit | acd4698873a14529a29a7b464d7091ccbde245d5 (patch) | |
tree | 9c296cec93976e050945cd7c08fb5dcf954ef460 | |
parent | 8573e7898a27ef607a3264909cc3bf24d4e13959 (diff) | |
download | cython-acd4698873a14529a29a7b464d7091ccbde245d5.tar.gz |
CPython: Restore usage of Py_SIZE to check sign of PyLong
-rw-r--r-- | Cython/Utility/TypeConversion.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c index 8155a2421..af469a173 100644 --- a/Cython/Utility/TypeConversion.c +++ b/Cython/Utility/TypeConversion.c @@ -502,7 +502,7 @@ static CYTHON_INLINE PyObject* {{TO_PY_FUNCTION}}({{TYPE}} value) { func_type value = func_value; \ if (sizeof(target_type) < sizeof(func_type)) { \ if (unlikely(value != (func_type) (target_type) value)) { \ - func_type zero = 0; \ + const func_type zero = 0; \ if (is_unsigned && unlikely(value < zero)) \ goto raise_neg_overflow; \ else \ @@ -554,10 +554,12 @@ static CYTHON_INLINE {{TYPE}} {{FROM_PY_FUNCTION}}(PyObject *x) { case 0: return 0; case 1: __PYX_VERIFY_RETURN_INT({{TYPE}}, digit, ((PyLongObject*)x)->ob_digit[0]); } + #endif +#endif +#if CYTHON_COMPILING_IN_CPYTHON if (unlikely(Py_SIZE(x) < 0)) { goto raise_neg_overflow; } - #endif #endif if (sizeof({{TYPE}}) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT({{TYPE}}, unsigned long, PyLong_AsUnsignedLong(x)) |