[fpc-devel] *** GMX Spamverdacht *** An extension of fpc language: the BASED construct

Giuliano Colla giuliano.colla at fastwebnet.it
Wed Dec 27 00:09:36 CET 2017



Il 26/12/2017 18:43, Karoly Balogh (Charlie/SGR) ha scritto:
> HI,
>
> On Tue, 26 Dec 2017, Thorsten Engler wrote:
>
>>>   Item: BYTE BASED ItemPtr;
>> Ignoring any other considerations for now, I would have at least used a
>> logical extension derived from already supported syntax:
>>
>> Item: Byte absolute ItemPtr^;
> As far as I understand (I did not try) this was once supported, but
> explicitly removed by FPC 2.4.0 from Absolute keyword dereferencing is no
> longer allowed:
>
> http://wiki.freepascal.org/User_Changes_2.4.0#Absolute_variable_declarations
>
> As the reasoning there shows, it's a very slippery slope this, which could
> open a can of worms, so careful people. :)

I'd not be in favour of using the same syntax for two quite different 
beasts.
Although the practice implementation is similar, the semantics is 
completely different:

ABSOLUTE declares a variable whose storage is known and assigned at 
compile time.

BASED declares a variable whose storage is unknown, and will only be 
instantiated at run time.

Mixing the two things may cause a lot of troubles, and most likely 
that's the reason why it was removed from fpc 2.4.0.

Giuliano



More information about the fpc-devel mailing list