Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread ik
On Sun, Jun 17, 2012 at 2:02 AM, Bernd prof7...@googlemail.com wrote: Hi, I am translating parts of the libpurple headers. Now I seem to have a problem with this: typedef enum { PURPLE_PLUGIN_UNKNOWN = -1, /** Unknown type.*/ PURPLE_PLUGIN_STANDARD = 0, /**

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Sven Barth
On 17.06.2012 01:02, Bernd wrote: Hi, I am translating parts of the libpurple headers. Now I seem to have a problem with this: typedef enum { PURPLE_PLUGIN_UNKNOWN = -1, /** Unknown type.*/ PURPLE_PLUGIN_STANDARD = 0, /** Standard plugin. */

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Florian Klämpfl
Am 17.06.2012 01:02, schrieb Bernd: TPurplePluginInfo = packed record You should also avoid using packed. FPC usually uses the same alignment as C on a certain platform does if the types are correctly used. However, on platforms (e.g. arm, sparc) which require proper alignment, packed causes

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Bernd
Thank you all for the valuable info. I have now changed everything to use only the types from ctypes, cint for int and culong for unsigned long. Once my tester on the other side of the atlantic wakes up I can test it. 2012/6/17 Florian Klämpfl flor...@freepascal.org: Am 17.06.2012 01:02, schrieb

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Jonas Maebe
On 17 Jun 2012, at 12:08, Florian Klämpfl wrote: Am 17.06.2012 01:02, schrieb Bernd: TPurplePluginInfo = packed record You should also avoid using packed. FPC usually uses the same alignment as C on a certain platform does if the types are correctly used. And if you use {$packrecords

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Jonas Maebe
On 17 Jun 2012, at 12:36, Bernd wrote: I did not know this. I have read in many different places that one should use packed Those places please probably said you should use packed *if you want the layout of a record to be the same on all platforms and across different FPC versions*. In

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Bernd
2012/6/17 Jonas Maebe jonas.ma...@elis.ugent.be: And if you use {$packrecords c}, then FPC is guaranteed to use the same alignment as C compilers (aka what the platform ABI specifies). Done :-) https://github.com/prof7bit/TorChat/blob/torchat2/src/purple/purple.pas

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Bernd
2012/6/17 Bernd prof7...@googlemail.com: 2012/6/17 Jonas Maebe jonas.ma...@elis.ugent.be: And if you use {$packrecords c}, then FPC is guaranteed to use the same alignment as C compilers (aka what the platform ABI specifies). Done :-)

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Michalis Kamburelis
Bernd wrote: (Almost) The only other small discontinuity was the PNG writer from fcl-image needs to be explicitly told Indexed:=False on 64 bit while on 32 bit this was not necessary. Indexed is false by default in FPC = 2.6.1, see BTW and notes in

Re: [fpc-pascal] header translation question, 64 bit problem

2012-06-17 Thread Bernd
2012/6/17 Michalis Kamburelis michalis.ka...@gmail.com: Indexed is false by default in FPC = 2.6.1, see BTW and notes in http://bugs.freepascal.org/view.php?id=21835 Ah, then this mystery is also solved. I instructed the person who helped me to install the .deb packages from freepascal because