[fpc-pascal] Re: Assigning pointer address

Reinier Olislagers reinierolislagers at gmail.com
Mon Oct 1 14:08:59 CEST 2012

On 1-10-2012 13:55, dhkblaszyk-47ckw973qWsGTViba+RHyw at public.gmane.org
> On 1 okt '12, michael.vancanneyt-0Is9KJ9Sb0A at public.gmane.org wrote:
>> On Mon, 1 Oct 2012, dhkblaszyk at zeelandnet.nl <mailto:dhkblaszyk-47ckw973qWsGTViba+RHyw at public.gmane.org>wrote:
>>> Hi Tomas, Thanks for clarifying. I will use PtrUInt to store the
>>> pointer address in. BTW: the documentation it says not to use PtrInt
>>> because it's signed and therefore smaller than a pointer (as in max
>>> value). Also there seems to be an error in the documentation. On
>>> http://www.freepascal.org/docs-html/rtl/system/ptruint.html [4] it is
>>> described that PtrUInt is an alias to DWord. However, it depends on
>>> the architecture which type it actually is. Could someone please
>>> correct the docs?
>> What do you want to see corrected ?
>> On 32-bit systems, it is a DWord. The docs were generated on such a system,
>> so you get this definition.
> If possible I would like to see a remark mentioning that it's a QWord on
> 64bit and Word on 16bit. That by itself would make thing clearer already.
That sounds good (vaguely remember that PtrUint also depends on OS, but
leaving it to more knowledgeable people to updat the docs anyway)

> In the ideal case fpdoc should be adjusted so it can handle these
> defines. However this will be very complex I assume.

IIUC, size PtrUint varies by architecture, which is more or less the
point of PtrUint.
Having this variation documented as Darius suggested above makes things
much clearer, because the programmer may be working on one platform and
programming for another (with {$IFDEFS}...).

Letting fpdoc predict this seems like a way to madness.

More information about the fpc-pascal mailing list