[pypy-svn] r72516 - in pypy/trunk/pypy/module/cpyext: . include

xoraxax at codespeak.net xoraxax at codespeak.net
Mon Mar 22 00:58:57 CET 2010


Author: xoraxax
Date: Mon Mar 22 00:58:55 2010
New Revision: 72516

Modified:
   pypy/trunk/pypy/module/cpyext/api.py
   pypy/trunk/pypy/module/cpyext/boolobject.py
   pypy/trunk/pypy/module/cpyext/dictobject.py
   pypy/trunk/pypy/module/cpyext/include/Python.h
   pypy/trunk/pypy/module/cpyext/modsupport.py
   pypy/trunk/pypy/module/cpyext/pythonrun.py
   pypy/trunk/pypy/module/cpyext/tupleobject.py
   pypy/trunk/pypy/module/cpyext/typeobject.py
Log:
Remove the long int hack! Use INT_real everywhere.

Modified: pypy/trunk/pypy/module/cpyext/api.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/api.py	(original)
+++ pypy/trunk/pypy/module/cpyext/api.py	Mon Mar 22 00:58:55 2010
@@ -185,7 +185,6 @@
     prologue = """\
     #define const            /* cheat */
     #include <Python.h>
-    #define long int         /* cheat */
     """
     if rename:
         pypy_rename = []
@@ -304,12 +303,14 @@
                     return
                 if restype is PyObject:
                     return lltype.nullptr(PyObject.TO)
-                if restype in (lltype.Signed, rffi.INT):
-                    return -1
+                if restype in (lltype.Signed, rffi.INT_real):
+                    return rffi.cast(rffi.INT_real, -1)
                 assert False, "Unknown return type"
 
             if callable.api_func.restype is PyObject:
                 retval = make_ref(space, retval, borrowed=callable.api_func.borrowed)
+            if callable.api_func.restype is rffi.INT_real:
+                retval = rffi.cast(rffi.INT_real, retval)
             return retval
         return wrapper
 

Modified: pypy/trunk/pypy/module/cpyext/boolobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/boolobject.py	(original)
+++ pypy/trunk/pypy/module/cpyext/boolobject.py	Mon Mar 22 00:58:55 2010
@@ -1,7 +1,7 @@
 from pypy.rpython.lltypesystem import rffi, lltype
 from pypy.module.cpyext.api import cpython_api, PyObject, general_check
 
- at cpython_api([PyObject], rffi.INT)
+ at cpython_api([PyObject], rffi.INT_real)
 def PyBool_Check(space, w_obj):
     w_type = space.w_bool
     return general_check(space, w_obj, w_type)

Modified: pypy/trunk/pypy/module/cpyext/dictobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/dictobject.py	(original)
+++ pypy/trunk/pypy/module/cpyext/dictobject.py	Mon Mar 22 00:58:55 2010
@@ -6,14 +6,14 @@
 def PyDict_New(space):
     return space.newdict()
 
- at cpython_api([PyObject], rffi.INT)
+ at cpython_api([PyObject], rffi.INT_real)
 def PyDict_Check(space, w_obj):
     w_type = space.w_dict
     w_obj_type = space.type(w_obj)
     return space.is_w(w_obj_type, w_type) or space.is_true(space.issubtype(w_obj_type, w_type))
 
 
- at cpython_api([PyObject, rffi.CCHARP, PyObject], rffi.INT)
+ at cpython_api([PyObject, rffi.CCHARP, PyObject], rffi.INT_real)
 def PyDict_SetItemString(space, w_dict, key_ptr, w_obj):
     if PyDict_Check(space, w_dict):
         key = rffi.charp2str(key_ptr)

Modified: pypy/trunk/pypy/module/cpyext/include/Python.h
==============================================================================
--- pypy/trunk/pypy/module/cpyext/include/Python.h	(original)
+++ pypy/trunk/pypy/module/cpyext/include/Python.h	Mon Mar 22 00:58:55 2010
@@ -17,7 +17,6 @@
 /* move somewhere else */
 extern PyObject *Py_None;
 
-#define long int /* XXX: same hack as in api.py */
 
 #include <stdio.h>
 

Modified: pypy/trunk/pypy/module/cpyext/modsupport.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/modsupport.py	(original)
+++ pypy/trunk/pypy/module/cpyext/modsupport.py	Mon Mar 22 00:58:55 2010
@@ -11,7 +11,7 @@
     'PyMethodDef',
     [('ml_name', rffi.CCHARP),
      ('ml_meth', PyCFunction),
-     ('ml_flags', rffi.INT),
+     ('ml_flags', rffi.INT_real),
      ])
 
 def PyImport_AddModule(space, name):
@@ -66,7 +66,7 @@
     return dict_w
 
 
- at cpython_api([PyObject], rffi.INT)
+ at cpython_api([PyObject], rffi.INT_real)
 def PyModule_Check(space, w_obj):
     w_type = space.gettypeobject(Module.typedef)
     return general_check(space, w_obj, w_type)

Modified: pypy/trunk/pypy/module/cpyext/pythonrun.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/pythonrun.py	(original)
+++ pypy/trunk/pypy/module/cpyext/pythonrun.py	Mon Mar 22 00:58:55 2010
@@ -1,6 +1,6 @@
 from pypy.rpython.lltypesystem import rffi, lltype
 from pypy.module.cpyext.api import cpython_api
 
- at cpython_api([], rffi.INT)
+ at cpython_api([], rffi.INT_real)
 def Py_IsInitialized(space):
     return 1

Modified: pypy/trunk/pypy/module/cpyext/tupleobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/tupleobject.py	(original)
+++ pypy/trunk/pypy/module/cpyext/tupleobject.py	Mon Mar 22 00:58:55 2010
@@ -7,7 +7,7 @@
 def PyTuple_New(space, size):
     return space.newtuple([space.w_None] * size)
 
- at cpython_api([PyObject, Py_ssize_t, PyObject], rffi.INT)
+ at cpython_api([PyObject, Py_ssize_t, PyObject], rffi.INT_real)
 def PyTuple_SetItem(space, w_t, pos, w_obj):
     assert isinstance(w_t, W_TupleObject)
     w_t.wrappeditems[pos] = w_obj

Modified: pypy/trunk/pypy/module/cpyext/typeobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/typeobject.py	(original)
+++ pypy/trunk/pypy/module/cpyext/typeobject.py	Mon Mar 22 00:58:55 2010
@@ -27,41 +27,41 @@
 
 freefunc = P(FT([rffi.VOIDP], Void))
 destructor = P(FT([PyO], Void))
-printfunc = P(FT([PyO, rffi.VOIDP, rffi.INT], rffi.INT))
+printfunc = P(FT([PyO, rffi.VOIDP, rffi.INT_real], rffi.INT))
 getattrfunc = P(FT([PyO, rffi.CCHARP], PyO))
 getattrofunc = P(FT([PyO, PyO], PyO))
-setattrfunc = P(FT([PyO, rffi.CCHARP, PyO], rffi.INT))
-setattrofunc = P(FT([PyO, PyO, PyO], rffi.INT))
-cmpfunc = P(FT([PyO, PyO], rffi.INT))
+setattrfunc = P(FT([PyO, rffi.CCHARP, PyO], rffi.INT_real))
+setattrofunc = P(FT([PyO, PyO, PyO], rffi.INT_real))
+cmpfunc = P(FT([PyO, PyO], rffi.INT_real))
 reprfunc = P(FT([PyO], PyO))
 hashfunc = P(FT([PyO], lltype.Signed))
-richcmpfunc = P(FT([PyO, PyO, rffi.INT], PyO))
+richcmpfunc = P(FT([PyO, PyO, rffi.INT_real], PyO))
 getiterfunc = P(FT([PyO], PyO))
 iternextfunc = P(FT([PyO], PyO))
 descrgetfunc = P(FT([PyO, PyO, PyO], PyO))
-descrsetfunc = P(FT([PyO, PyO, PyO], rffi.INT))
-initproc = P(FT([PyO, PyO, PyO], rffi.INT))
+descrsetfunc = P(FT([PyO, PyO, PyO], rffi.INT_real))
+initproc = P(FT([PyO, PyO, PyO], rffi.INT_real))
 newfunc = P(FT([PyTypeObjectPtr, PyO, PyO], PyO))
 allocfunc = P(FT([PyTypeObjectPtr, Py_ssize_t], PyO))
 unaryfunc = P(FT([PyO], PyO))
 binaryfunc = P(FT([PyO, PyO], PyO))
 ternaryfunc = P(FT([PyO, PyO, PyO], PyO))
-inquiry = P(FT([PyO], rffi.INT))
+inquiry = P(FT([PyO], rffi.INT_real))
 lenfunc = P(FT([PyO], Py_ssize_t))
-coercion = P(FT([PyOPtr, PyOPtr], rffi.INT))
-intargfunc = P(FT([PyO, rffi.INT], PyO))
-intintargfunc = P(FT([PyO, rffi.INT, rffi.INT], PyO))
+coercion = P(FT([PyOPtr, PyOPtr], rffi.INT_real))
+intargfunc = P(FT([PyO, rffi.INT_real], PyO))
+intintargfunc = P(FT([PyO, rffi.INT_real, rffi.INT], PyO))
 ssizeargfunc = P(FT([PyO, Py_ssize_t], PyO))
 ssizessizeargfunc = P(FT([PyO, Py_ssize_t, Py_ssize_t], PyO))
-intobjargproc = P(FT([PyO, rffi.INT, PyO], rffi.INT))
-intintobjargproc = P(FT([PyO, rffi.INT, rffi.INT, PyO], rffi.INT))
-ssizeobjargproc = P(FT([PyO, Py_ssize_t, PyO], rffi.INT))
-ssizessizeobjargproc = P(FT([PyO, Py_ssize_t, Py_ssize_t, PyO], rffi.INT))
-objobjargproc = P(FT([PyO, PyO, PyO], rffi.INT))
-
-objobjproc = P(FT([PyO, PyO], rffi.INT))
-visitproc = P(FT([PyO, rffi.VOIDP], rffi.INT))
-traverseproc = P(FT([PyO, visitproc, rffi.VOIDP], rffi.INT))
+intobjargproc = P(FT([PyO, rffi.INT_real, PyO], rffi.INT))
+intintobjargproc = P(FT([PyO, rffi.INT_real, rffi.INT, PyO], rffi.INT))
+ssizeobjargproc = P(FT([PyO, Py_ssize_t, PyO], rffi.INT_real))
+ssizessizeobjargproc = P(FT([PyO, Py_ssize_t, Py_ssize_t, PyO], rffi.INT_real))
+objobjargproc = P(FT([PyO, PyO, PyO], rffi.INT_real))
+
+objobjproc = P(FT([PyO, PyO], rffi.INT_real))
+visitproc = P(FT([PyO, rffi.VOIDP], rffi.INT_real))
+traverseproc = P(FT([PyO, visitproc, rffi.VOIDP], rffi.INT_real))
 
 PyTypeObjectFields = []
 PyTypeObjectFields.extend(PyVarObjectFields)
@@ -172,7 +172,7 @@
     return w_type
 
 
- at cpython_api([PyTypeObjectPtr], rffi.INT)
+ at cpython_api([PyTypeObjectPtr], rffi.INT_real)
 def PyPyType_Register(space, pto):
     state = space.fromcache(State)
     ptr = ctypes.addressof(pto._obj._storage)



More information about the Pypy-commit mailing list