This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author martin.panter
Recipients Michael.Felt, aixtools@gmail.com, martin.panter
Date 2016-08-18.00:43:44
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1471481024.97.0.223027195692.issue27643@psf.upfronthosting.co.za>
In-reply-to
Content
Michael, byref() is just a helper for passing an object’s address to a C function. Calling func(byref(b), ...) in Python is equivalent to the C code

unpack_bitfields(&b, ...)

I still think the root problem is in unpack_bitfields(). When compiled with XLC, your experiments confirm that it always returns unsigned values, and with GCC, it returns signed values.

It looks like you can detect XLC with the __IBMC__ and __xlC__ macros (not sure if there is a practical difference). So perhaps we can fix this with

#ifndef __xlC__
History
Date User Action Args
2016-08-18 00:43:45martin.pantersetrecipients: + martin.panter, Michael.Felt, aixtools@gmail.com
2016-08-18 00:43:44martin.pantersetmessageid: <1471481024.97.0.223027195692.issue27643@psf.upfronthosting.co.za>
2016-08-18 00:43:44martin.panterlinkissue27643 messages
2016-08-18 00:43:44martin.pantercreate