Author: Ronan Lamy <[email protected]>
Branch: rffi-parser
Changeset: r89139:539abd4173a3
Date: 2016-12-18 13:34 +0000
http://bitbucket.org/pypy/pypy/changeset/539abd4173a3/
Log: Export the type itself in ParsedSource().definitions, we never want
lltype.Typedef objects
diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py
--- a/pypy/module/cpyext/api.py
+++ b/pypy/module/cpyext/api.py
@@ -911,7 +911,7 @@
""")
h.configure_types()
-Py_ssize_t = h.definitions['Py_ssize_t'].OF
+Py_ssize_t = h.definitions['Py_ssize_t']
Py_ssize_tP = rffi.CArrayPtr(Py_ssize_t)
size_t = rffi.ULONG
ADDR = lltype.Signed
@@ -919,18 +919,18 @@
# Note: as a special case, "PyObject" is the pointer type in RPython,
# corresponding to "PyObject *" in C. We do that only for PyObject.
# For example, "PyTypeObject" is the struct type even in RPython.
-PyTypeObject = h.definitions['PyTypeObject'].OF
+PyTypeObject = h.definitions['PyTypeObject']
PyTypeObjectPtr = lltype.Ptr(PyTypeObject)
-PyObjectStruct = h.definitions['PyObject'].OF
+PyObjectStruct = h.definitions['PyObject']
PyObject = lltype.Ptr(PyObjectStruct)
PyObjectFields = (("ob_refcnt", lltype.Signed),
("ob_pypy_link", lltype.Signed),
("ob_type", PyTypeObjectPtr))
PyVarObjectFields = PyObjectFields + (("ob_size", Py_ssize_t), )
-PyVarObjectStruct = h.definitions['PyVarObject'].OF
+PyVarObjectStruct = h.definitions['PyVarObject']
PyVarObject = lltype.Ptr(PyVarObjectStruct)
-Py_buffer = h.definitions['Py_buffer'].OF
+Py_buffer = h.definitions['Py_buffer']
Py_bufferP = lltype.Ptr(Py_buffer)
getbufferproc = h.definitions['getbufferproc']
releasebufferproc = h.definitions['releasebufferproc']
diff --git a/pypy/module/cpyext/cparser.py b/pypy/module/cpyext/cparser.py
--- a/pypy/module/cpyext/cparser.py
+++ b/pypy/module/cpyext/cparser.py
@@ -690,7 +690,7 @@
if isinstance(tp, DelayedStruct):
self.realize_struct(tp, name)
tp = self.structs[obj] = tp.TYPE
- self.definitions[name] = lltype.Typedef(tp, name)
+ self.definitions[name] = tp
def add_macro(self, name, value):
assert name not in self.macros
diff --git a/pypy/module/cpyext/typeobjectdefs.py
b/pypy/module/cpyext/typeobjectdefs.py
--- a/pypy/module/cpyext/typeobjectdefs.py
+++ b/pypy/module/cpyext/typeobjectdefs.py
@@ -1,62 +1,62 @@
from pypy.module.cpyext.api import h
-freefunc = h.definitions['freefunc'].OF
-destructor = h.definitions['destructor'].OF
-printfunc = h.definitions['printfunc'].OF
-getattrfunc = h.definitions['getattrfunc'].OF
-getattrofunc = h.definitions['getattrofunc'].OF
-setattrfunc = h.definitions['setattrfunc'].OF
-setattrofunc = h.definitions['setattrofunc'].OF
-cmpfunc = h.definitions['cmpfunc'].OF
-reprfunc = h.definitions['reprfunc'].OF
-hashfunc = h.definitions['hashfunc'].OF
-richcmpfunc = h.definitions['richcmpfunc'].OF
-getiterfunc = h.definitions['getiterfunc'].OF
-iternextfunc = h.definitions['iternextfunc'].OF
-descrgetfunc = h.definitions['descrgetfunc'].OF
-descrsetfunc = h.definitions['descrsetfunc'].OF
-initproc = h.definitions['initproc'].OF
-newfunc = h.definitions['newfunc'].OF
-allocfunc = h.definitions['allocfunc'].OF
+freefunc = h.definitions['freefunc']
+destructor = h.definitions['destructor']
+printfunc = h.definitions['printfunc']
+getattrfunc = h.definitions['getattrfunc']
+getattrofunc = h.definitions['getattrofunc']
+setattrfunc = h.definitions['setattrfunc']
+setattrofunc = h.definitions['setattrofunc']
+cmpfunc = h.definitions['cmpfunc']
+reprfunc = h.definitions['reprfunc']
+hashfunc = h.definitions['hashfunc']
+richcmpfunc = h.definitions['richcmpfunc']
+getiterfunc = h.definitions['getiterfunc']
+iternextfunc = h.definitions['iternextfunc']
+descrgetfunc = h.definitions['descrgetfunc']
+descrsetfunc = h.definitions['descrsetfunc']
+initproc = h.definitions['initproc']
+newfunc = h.definitions['newfunc']
+allocfunc = h.definitions['allocfunc']
-unaryfunc = h.definitions['unaryfunc'].OF
-binaryfunc = h.definitions['binaryfunc'].OF
-ternaryfunc = h.definitions['ternaryfunc'].OF
-inquiry = h.definitions['inquiry'].OF
-lenfunc = h.definitions['lenfunc'].OF
-coercion = h.definitions['coercion'].OF
-intargfunc = h.definitions['intargfunc'].OF
-intintargfunc = h.definitions['intintargfunc'].OF
-ssizeargfunc = h.definitions['ssizeargfunc'].OF
-ssizessizeargfunc = h.definitions['ssizessizeargfunc'].OF
-intobjargproc = h.definitions['intobjargproc'].OF
-intintobjargproc = h.definitions['intintobjargproc'].OF
-ssizeobjargproc = h.definitions['ssizeobjargproc'].OF
-ssizessizeobjargproc = h.definitions['ssizessizeobjargproc'].OF
-objobjargproc = h.definitions['objobjargproc'].OF
+unaryfunc = h.definitions['unaryfunc']
+binaryfunc = h.definitions['binaryfunc']
+ternaryfunc = h.definitions['ternaryfunc']
+inquiry = h.definitions['inquiry']
+lenfunc = h.definitions['lenfunc']
+coercion = h.definitions['coercion']
+intargfunc = h.definitions['intargfunc']
+intintargfunc = h.definitions['intintargfunc']
+ssizeargfunc = h.definitions['ssizeargfunc']
+ssizessizeargfunc = h.definitions['ssizessizeargfunc']
+intobjargproc = h.definitions['intobjargproc']
+intintobjargproc = h.definitions['intintobjargproc']
+ssizeobjargproc = h.definitions['ssizeobjargproc']
+ssizessizeobjargproc = h.definitions['ssizessizeobjargproc']
+objobjargproc = h.definitions['objobjargproc']
-objobjproc = h.definitions['objobjproc'].OF
-visitproc = h.definitions['visitproc'].OF
-traverseproc = h.definitions['traverseproc'].OF
+objobjproc = h.definitions['objobjproc']
+visitproc = h.definitions['visitproc']
+traverseproc = h.definitions['traverseproc']
-getter = h.definitions['getter'].OF
-setter = h.definitions['setter'].OF
+getter = h.definitions['getter']
+setter = h.definitions['setter']
#wrapperfunc = h.definitions['wrapperfunc']
#wrapperfunc_kwds = h.definitions['wrapperfunc_kwds']
-readbufferproc = h.definitions['readbufferproc'].OF
-writebufferproc = h.definitions['writebufferproc'].OF
-segcountproc = h.definitions['segcountproc'].OF
-charbufferproc = h.definitions['charbufferproc'].OF
-getbufferproc = h.definitions['getbufferproc'].OF
-releasebufferproc = h.definitions['releasebufferproc'].OF
+readbufferproc = h.definitions['readbufferproc']
+writebufferproc = h.definitions['writebufferproc']
+segcountproc = h.definitions['segcountproc']
+charbufferproc = h.definitions['charbufferproc']
+getbufferproc = h.definitions['getbufferproc']
+releasebufferproc = h.definitions['releasebufferproc']
-PyGetSetDef = h.definitions['PyGetSetDef'].OF
-PyNumberMethods = h.definitions['PyNumberMethods'].OF
-PySequenceMethods = h.definitions['PySequenceMethods'].OF
-PyMappingMethods = h.definitions['PyMappingMethods'].OF
-PyBufferProcs = h.definitions['PyBufferProcs'].OF
-PyMemberDef = h.definitions['PyMemberDef'].OF
+PyGetSetDef = h.definitions['PyGetSetDef']
+PyNumberMethods = h.definitions['PyNumberMethods']
+PySequenceMethods = h.definitions['PySequenceMethods']
+PyMappingMethods = h.definitions['PyMappingMethods']
+PyBufferProcs = h.definitions['PyBufferProcs']
+PyMemberDef = h.definitions['PyMemberDef']
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit