diff options
Diffstat (limited to 'sources/shiboken2/libshiboken/sbkpython.h')
-rw-r--r-- | sources/shiboken2/libshiboken/sbkpython.h | 61 |
1 files changed, 23 insertions, 38 deletions
diff --git a/sources/shiboken2/libshiboken/sbkpython.h b/sources/shiboken2/libshiboken/sbkpython.h index 6755e945d..abdb02eba 100644 --- a/sources/shiboken2/libshiboken/sbkpython.h +++ b/sources/shiboken2/libshiboken/sbkpython.h @@ -75,7 +75,6 @@ extern "C" { # include "shibokenmacros.h" // "pep384impl.h" may nowhere be included but in this file. # include "pep384impl.h" -# include "typespec.h" # pragma pop_macro("slots") #else @@ -102,44 +101,30 @@ extern "C" { # include "shibokenmacros.h" // "pep384impl.h" may nowhere be included but in this file. # include "pep384impl.h" -# include "typespec.h" #endif -#if PY_MAJOR_VERSION >= 3 - #define IS_PY3K - - #define PyInt_Type PyLong_Type - #define PyInt_Check PyLong_Check - #define PyInt_CheckExact PyLong_CheckExact - #define PyInt_FromString PyLong_FromString - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsUnsignedLongLongMask PyLong_AsLongLong - #define PyInt_FromLong PyLong_FromLong - #define PyInt_AsLong PyLong_AsLong - #define SbkNumber_Check PyNumber_Check - #define Py_TPFLAGS_CHECKTYPES 0 - - #define SBK_NB_BOOL(x) (x).nb_bool - #define SBK_PyMethod_New PyMethod_New - #define PyInt_AsSsize_t(x) PyLong_AsSsize_t(x) - #define PyString_Type PyUnicode_Type - - // In Python 3, Py_TPFLAGS_DEFAULT contains Py_TPFLAGS_HAVE_VERSION_TAG, - // which will trigger the attribute cache, which is not intended in Qt for Python. - // Use a customized Py_TPFLAGS_DEFAULT by defining Py_TPFLAGS_HAVE_VERSION_TAG = 0. - #undef Py_TPFLAGS_HAVE_VERSION_TAG - #define Py_TPFLAGS_HAVE_VERSION_TAG (0) - -#else - // Note: if there wasn't for the old-style classes, only a PyNumber_Check would suffice. - #define SbkNumber_Check(X) \ - (PyNumber_Check(X) && (!PyInstance_Check(X) || PyObject_HasAttrString(X, "__trunc__"))) - #define SBK_NB_BOOL(x) (x).nb_nonzero - #define SBK_PyMethod_New(X, Y) PyMethod_New(X, Y, reinterpret_cast<PyObject *>(Py_TYPE(Y))) - - #define Py_hash_t long -#endif +#define PyInt_Type PyLong_Type +#define PyInt_Check PyLong_Check +#define PyInt_CheckExact PyLong_CheckExact +#define PyInt_FromString PyLong_FromString +#define PyInt_FromSsize_t PyLong_FromSsize_t +#define PyInt_FromSize_t PyLong_FromSize_t +#define PyInt_AS_LONG PyLong_AS_LONG +#define PyInt_AsUnsignedLongLongMask PyLong_AsLongLong +#define PyInt_FromLong PyLong_FromLong +#define PyInt_AsLong PyLong_AsLong +#define SbkNumber_Check PyNumber_Check +#define Py_TPFLAGS_CHECKTYPES 0 + +#define SBK_NB_BOOL(x) (x).nb_bool +#define SBK_PyMethod_New PyMethod_New +#define PyInt_AsSsize_t(x) PyLong_AsSsize_t(x) +#define PyString_Type PyUnicode_Type + +// In Python 3, Py_TPFLAGS_DEFAULT contains Py_TPFLAGS_HAVE_VERSION_TAG, +// which will trigger the attribute cache, which is not intended in Qt for Python. +// Use a customized Py_TPFLAGS_DEFAULT by defining Py_TPFLAGS_HAVE_VERSION_TAG = 0. +#undef Py_TPFLAGS_HAVE_VERSION_TAG +#define Py_TPFLAGS_HAVE_VERSION_TAG (0) #endif |