[fpc-devel] TypeInfo RTTI / possible inconsistency

Martin Frb lazarus at mfriebe.de
Tue May 18 17:33:41 CEST 2021


On 18/05/2021 15:50, Martin Frb via fpc-devel wrote:
> On 18/05/2021 15:24, Martin Frb via fpc-devel wrote:
>> line 632  unit TypInfo
>>>             tkMethod:
>>> ....
>>>               followed by
>>>                   ResultType : ShortString     // for mkFunction, 
>>> mkClassFunction only
>>>                   ResultTypeRef : PPTypeInfo;  // for mkFunction, 
>>> mkClassFunction only
>>>                   CC : TCallConv;
>>>                   ParamTypeRefs : array[1..ParamCount] of PPTypeInfo;}
>>>               );
>
> And just to confirm, if anyone knows....
> Those are indeed PPTypeInfo ? (even in 3.0?)
>
> Since a lot of other TypeInfos are:
> {$ifdef ver3_0}
> {$define TypeInfoPtr := PTypeInfo}
> {$else}
> {$define TypeInfoPtr := PPTypeInfo}
> {$endif}
>

I looked at ncgrtti in the compiler.

It looks like ResultTypeRef and ParamTypeRef are TypeInfoPtr  and not 
PPTypeInfo


> Rtti.pas in 3.0.0 seems to tread them as PPTypeInfo. So that would 
> indicate they indeed are PPTypeInfo.
3.0 does not have rtti.pp => I was in the wrong directory


More information about the fpc-devel mailing list