[fpc-devel] TypeInfo RTTI / possible inconsistency

Sven Barth pascaldragon at googlemail.com
Wed May 19 22:21:34 CEST 2021


Am 18.05.2021 um 17:33 schrieb Martin Frb via fpc-devel:
> 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

Right, sorry, in 3.0 they're indeed PTypeInfo. In 3.2.0 they were 
changed ot indirect references.

Regards,
Sven


More information about the fpc-devel mailing list