[fpc-devel] ref count issue with out param
Den
cyraid at gmail.com
Mon Jun 15 20:47:26 CEST 2015
> It is similar to type tarray = array [1..10] of longint; procedure
> p(const a1 : tarray;var a2 : tarray); begin a2[1]:=4321;
> writeln(a1[1]); // surprise end; var arr : tarray; begin arr[1]:=1234;
> p(arr,arr); end. The only way to prevent this (of course, such a
> simple case could be detected by the compiler but one can always
> construct an example which works around this detection), is to turn
> off the const optimization that const allows the compiler to pass only
> a reference, but I am pretty sure, people will not be happy about this :)
Correct. Would definitely not be happy about this. :)
- Dennis
More information about the fpc-devel
mailing list