[fpc-devel] Safecall on Linux (and other unices?)

José Mejuto joshyfun at gmail.com
Thu Jul 22 21:18:06 CEST 2010


Hello FPC,

Thursday, July 22, 2010, 7:24:26 PM, you wrote:

>> is expected to produce the same effect (not internal implementation)
>> in any platform.
JM> Well, no. It is expected to produce the same effect as the C
JM> compilers on every platform. These may behave differently amongst
JM> different platforms.

So it is reasonable and "logical" that stdcall in platform A passes
parameters from left to right and in platform B passes them right to
left ? even called in both stdcall ? (stdcall in example).

Maybe move this to fpc-pascal ?

>> procedure (const a: record); safecall;
>> in Unix will produce a copy of "a" and in Windows a reference to "a"
JM> In Windows it currently only passes "a" by reference if the
JM> size of the record is > sizeof(pointer).

I was trying to simplify the idea without the details.

-- 
Best regards,
 José




More information about the fpc-devel mailing list