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

2012-06-17 Thread ik
On Sun, Jun 17, 2012 at 2:02 AM, 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 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. */ PURPLE_PLUGIN_LOAD

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 cause

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 : > Am 17.06.2012 01:02, schrieb Bernd: >> >>   TPurpl

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 {$packre

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 : > 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 ___ fpc

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

2012-06-17 Thread Bernd
2012/6/17 Bernd : > 2012/6/17 Jonas Maebe : > >> 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 It works! this record

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 http://bugs.freepascal.org/view.php?id=21

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

2012-06-17 Thread Bernd
2012/6/17 Michalis Kamburelis : > 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 Ubuntu only has 2.4