On 05/07/2011 18:27, José Mejuto wrote:
This changes should be detected ?
var
a: ansistring;
procedure DoSomehting(const v: ansistring);
begin
a[1]:='a';
end;
begin
a:='b';
DoSomething(a);
end.
It would probably best to detect this changes too.
But since it would be more of a performance penality, i would like to
see it as an option of it's own. (even if only used in
debug/development, the penalty could be severe enough to hinter development)
Why detect those?
Well at current such a trick could actually be used intentionally. and
it could work well, if done correctly.
But I expect this behaviour is not defined/documented.
If the optimizer improves, the optimizer could do thinks that would make
any code fail, if it uses such tricks. So better to let people know now,
that it isn't safe.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel