Author: Manuel Jacob Branch: Changeset: r68782:4916f1d812ea Date: 2014-01-20 14:12 +0100 http://bitbucket.org/pypy/pypy/changeset/4916f1d812ea/
Log: Add support for packed structs in _cffi_backend (ported from cffi/c5e17441bc96). diff --git a/pypy/module/_cffi_backend/newtype.py b/pypy/module/_cffi_backend/newtype.py --- a/pypy/module/_cffi_backend/newtype.py +++ b/pypy/module/_cffi_backend/newtype.py @@ -118,6 +118,7 @@ SF_MSVC_BITFIELDS = 1 SF_GCC_ARM_BITFIELDS = 2 SF_GCC_BIG_ENDIAN = 4 +SF_PACKED = 8 if sys.platform == 'win32': DEFAULT_SFLAGS = SF_MSVC_BITFIELDS @@ -190,8 +191,8 @@ boffset = 0 # reset each field at offset 0 # # update the total alignment requirement, but skip it if the - # field is an anonymous bitfield - falign = ftype.alignof() + # field is an anonymous bitfield or if SF_PACKED + falign = 1 if sflags & SF_PACKED else ftype.alignof() do_align = True if (sflags & SF_GCC_ARM_BITFIELDS) == 0 and fbitsize >= 0: if (sflags & SF_MSVC_BITFIELDS) == 0: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit