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
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel