On Fri, 10 Nov 2006, Hans-Christoph Steiner wrote:
Krzysztof thought it might be related to -mms-bitfields option in MinGW. I think the bugs have occured using with and without that field. Currently, cyclone and family are set to compile without -mms-bitfields.
I think that for that kind of problem it could be a good idea to have a new call in m_pd.h in which an external states to pd what its interpretation of m_pd.h's structs is, so that pd can detect problems. e.g. m_pd.h could contain a statement-like macro and a function decl:
#define pd_begin_setup() pd_make_sure(sizeof(t_text)) EXTERN pd_make_sure(size_t sizeof_text);
And then every external would call pd_begin_setup() as soon as it enters its own setup function, in order to make sure that the external is binary-compatible.
I'm not 100% satisfied with the idea, but I think that it could really help categorize some bugs better. This case seems to be win32-only, though, so I don't think that I can reproduce it (?). Are there similar options on Linux for struct alignment? If there are, they must be super rare.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada