[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