[fpc-devel] RTTI method paramlist broken?

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Sep 12 16:28:36 CEST 2009


On Sat, 12 Sep 2009 16:14:05 +0200
Jonas Maebe <jonas.maebe at elis.ugent.be> wrote:

> 
> On 12 Sep 2009, at 15:10, Paul Ishenin wrote:
> 
> > Paul Ishenin wrote:
> >> Just tested with D2009:
> >>
> >> TStdcallMethod = procedure(Sender: TObject; Something: LongInt)
> >> of object; stdcall;
> >>
> >> If it is stdcall then methods must be listed in the rtti right-to- 
> >> left but delphi stored Sender as first and Something as second.
> > To prove my founds I just wrote a small test application which  
> > compiles on D7, D2009, D2010 and FPC.
> 
> I've checked it with Kylix 3 and there it's indeed also always the  
> same order. Apparently I made a mistake while testing. The FPC logic  
> of storing the parameters in the rtti in the same order as the
> calling convention uses them dates from before my changes though. I'm
> not aware of any functionality in FPC or the RTL depending on this
> order, so it shouldn't be a problem to change it. Then again, I know
> almost nothing about any functionality using RTTI (other than
> reference counting), so I'll wait with changing anything to see
> whether someone else maybe knows a reason why this should not be
> changed.

AFAIK only lazarus and MSEgui depend on the RTTI paramlist.
Lazarus only uses them for speed reasons.


Mattias



More information about the fpc-devel mailing list