[pypy-svn] r78107 - pypy/trunk/pypy/rlib

antocuni at codespeak.net antocuni at codespeak.net
Wed Oct 20 10:22:53 CEST 2010


Author: antocuni
Date: Wed Oct 20 10:22:52 2010
New Revision: 78107

Modified:
   pypy/trunk/pypy/rlib/libffi.py
Log:
- reformat the if-elif chain to be more readable
- add the cases for slong and ulong: this fixes test_fficall on 64 bit, because without it thr 64 bit integers were never handled



Modified: pypy/trunk/pypy/rlib/libffi.py
==============================================================================
--- pypy/trunk/pypy/rlib/libffi.py	(original)
+++ pypy/trunk/pypy/rlib/libffi.py	Wed Oct 20 10:22:52 2010
@@ -35,43 +35,29 @@
     @staticmethod
     @jit.purefunction
     def getkind(ffi_type):
-        if ffi_type is types.void:
-            return 'v'
-        elif ffi_type is types.double:
-            return 'f'
-        elif ffi_type is types.pointer:
-            return 'i'
-        elif ffi_type is types.uchar:
-            return 'i'
-        elif ffi_type is types.uint8:
-            return 'i'
-        elif ffi_type is types.schar:
-            return 'i'
-        elif ffi_type is types.sint8:
-            return 'i'
-        elif ffi_type is types.uint16:
-            return 'i'
-        elif ffi_type is types.ushort:
-            return 'i'
-        elif ffi_type is types.sint16:
-            return 'i'
-        elif ffi_type is types.sshort:
-            return 'i'
-        elif ffi_type is types.uint:
-            return 'i'
-        elif ffi_type is types.uint32:
-            return 'i'
-        elif ffi_type is types.sint:
-            return 'i'
-        elif ffi_type is types.sint32:
-            return 'i'
-        ## elif ffi_type is types.uint64:
-        ##     return 'i'
-        ## elif ffi_type is types.sint64:
-        ##     return 'i'
+        if   ffi_type is types.void:    return 'v'
+        elif ffi_type is types.double:  return 'f'
+        elif ffi_type is types.pointer: return 'i'
+        #
+        elif ffi_type is types.schar:   return 'i'
+        elif ffi_type is types.uchar:   return 'i'
+        elif ffi_type is types.sshort:  return 'i'
+        elif ffi_type is types.ushort:  return 'i'
+        elif ffi_type is types.sint:    return 'i'
+        elif ffi_type is types.uint:    return 'i'
+        elif ffi_type is types.slong:   return 'i'
+        elif ffi_type is types.ulong:   return 'i'
+        #
+        elif ffi_type is types.sint8:   return 'i'
+        elif ffi_type is types.uint8:   return 'i'
+        elif ffi_type is types.sint16:  return 'i'
+        elif ffi_type is types.uint16:  return 'i'
+        elif ffi_type is types.sint32:  return 'i'
+        elif ffi_type is types.uint32:  return 'i'
+        ## elif ffi_type is types.sint64:  return 'i'
+        ## elif ffi_type is types.uint64:  return 'i'
         raise KeyError
 
-
 types._import()
 
 @specialize.arg(0)



More information about the Pypy-commit mailing list