[fpc-devel] FPC_HAS_CONSTREF

Hans-Peter Diettrich DrDiettrich1 at aol.com
Fri Oct 22 21:35:34 CEST 2010


Jonas Maebe schrieb:

>> What's the guarantee, that (in detail external) subroutines will honor 
>> the "const" attribute?
> 
> None. "const" (and constref) is a hint from the programmer that the 
> argument can be considered by the compiler as "constant" inside the 
> called routine.

What about reference counting or similar stuff, that differs for const 
and other arguments?


>> In how far does "constref" 
>> affect the *caller*, in contrast to e.g. "var"? Can constref pass 
>> properties, which are not allowed as var parameters?
> 
> 
> Right now it's allowed (if the property uses a getter, the getter is 
> called and its result is put into a temp location whose address is 
> passed), but I think that's a bug in the implementation.

When this feature is removed, does there remain any difference between 
var and constref, at the calling side?

DoDi




More information about the fpc-devel mailing list