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

Reply via email to