As I understand, PtrInt and SizeInt are signed integer types which have the size of pointer (size of memory address) of target architecture, so on 32-bit system, they are same as LongInt, and on 64-bit they are same as Int64.
They are always same, aren't they? My question is - is there a reason why we have two types? Aren't they intended for same purpose?
I know there is also NativeInt, which is added because Delphi has this type for same purpose, since they introduced 64-bit support, which happened several years later than FPC.
So, I understand why NativeInt is added to FPC, but I would like to know if there is a reason why we have both SizeInt and PtrInt?