[pypy-commit] pypy multiphase: Make typeslot numbers accessible from RPython
rlamy
pypy.commits at gmail.com
Mon Jun 12 16:30:31 EDT 2017
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: multiphase
Changeset: r91595:1426701d43f0
Date: 2017-06-12 18:56 +0100
http://bitbucket.org/pypy/pypy/changeset/1426701d43f0/
Log: Make typeslot numbers accessible from RPython
diff --git a/pypy/module/cpyext/include/typeslots.h b/pypy/module/cpyext/parse/typeslots.h
rename from pypy/module/cpyext/include/typeslots.h
rename to pypy/module/cpyext/parse/typeslots.h
--- a/pypy/module/cpyext/include/typeslots.h
+++ b/pypy/module/cpyext/parse/typeslots.h
@@ -1,7 +1,4 @@
/* Do not renumber the file; these numbers are part of the stable ABI. */
-/* Disabled, see #10181 */
-#undef Py_bf_getbuffer
-#undef Py_bf_releasebuffer
#define Py_mp_ass_subscript 3
#define Py_mp_length 4
#define Py_mp_subscript 5
@@ -79,7 +76,5 @@
#define Py_am_await 77
#define Py_am_aiter 78
#define Py_am_anext 79
-#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
/* New in 3.5 */
#define Py_tp_finalize 80
-#endif
diff --git a/pypy/module/cpyext/test/test_typeobject.py b/pypy/module/cpyext/test/test_typeobject.py
--- a/pypy/module/cpyext/test/test_typeobject.py
+++ b/pypy/module/cpyext/test/test_typeobject.py
@@ -4,7 +4,7 @@
from pypy.module.cpyext.test.test_api import BaseApiTest
from pypy.module.cpyext.api import generic_cpy_call
from pypy.module.cpyext.pyobject import make_ref, from_ref
-from pypy.module.cpyext.typeobject import PyTypeObjectPtr
+from pypy.module.cpyext.typeobject import cts, PyTypeObjectPtr
import sys
import pytest
@@ -435,6 +435,9 @@
ref = make_ref(space, w_obj)
api.Py_DecRef(ref)
+ def test_typeslots(self, space):
+ assert cts.macros['Py_tp_doc'] == 56
+
class AppTestSlots(AppTestCpythonExtensionBase):
def setup_class(cls):
AppTestCpythonExtensionBase.setup_class.im_func(cls)
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -41,6 +41,7 @@
PyType_Check, PyType_CheckExact = build_type_checkers("Type", "w_type")
PyHeapTypeObject = cts.gettype('PyHeapTypeObject *')
+cts.parse_header(parse_dir / "typeslots.h")
class W_GetSetPropertyEx(GetSetProperty):
More information about the pypy-commit
mailing list