Author: Ronan Lamy <ronan.l...@gmail.com>
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
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to