[fpc-pascal] how FPC expects string/interface/variant results?

Alexandre Leclerc alexandre.leclerc at gmail.com
Wed Nov 1 16:14:47 CET 2006


2006/11/1, Tomas Hajny <XHajT03 at mbox.vol.cz>:
> Jonas Maebe wrote:
> > On 01 Nov 2006, at 14:30, Alexandre Leclerc wrote:
> >
> >> - Can you find out how FPC expects string/interface/variant results ?
> >>
> >> Is there documentation where I could get this information? I think it
> >> is about cpu registers, etc. (?)
> >>
> >> Also, I might ask, how does FPC expect parameters passing? And Methods
> >> parameter passing?
> >
> > This depends on the used calling convention. Especially on i386 there
> > are many different ones. And from time to time this also changes to
> > fix compatibility or performance issues. There is no definite
> > documentation for this apart from the compiler source (which isn't
> > easy to read, in particular if you are not even sure about concepts
> > like cpu registers and how they can be used for parameter passing),
> > or compiling test programs and looking at the generated assembler
> > code (idem).
>
> Although the documentation of calling conventions isn't complete, it's
> probably worth to mention, that at least part of this information is
> available in our Programmer's Guide (section Calling Conventions/Calling
> mechanism). Additional information may be found in our mailing list
> archive
> (http://community.freepascal.org:10000/lists/fpc-pascal/2004-May/006960.html).

I can read 'There are three calling conventions which have been used
as the default in different versions of FPC'.

Will there be a final choice? Maybe my problem is that the calling
convention has changed lately?

-- 
Alexandre Leclerc



More information about the fpc-pascal mailing list