On 24 Sep 2007, at 14:12, mm wrote:
Jonas Maebe a écrit :
Counting on implementation details of opaque entities (such as set
formats, anything regarding reference counted types such as when
references are added or removed and when how many references will
exist, rtti format, code generation details such as evaluation
order of parameters [...]
What do you mean with "evaluation order of parameters"?
var
a: longint;
function f: longint;
begin
result:=a;
a:=a+1;
end;
procedure test(a,b: longint);
begin
writeln(a,' ',b);
end;
begin
a:=1;
test(f,f);
end.
The above program can write either "1 2" or "2 1", and what it writes
out can change between different compiler versions, platforms and
optimization levels (i.e., the parameter evaluation order is undefined).
Jonas_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal