[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