On 10.03.2013 20:39, Flávio Etrusco wrote:
On Sun, Mar 10, 2013 at 11:56 AM, Marco van de Voort <mar...@stack.nl> wrote:
In our previous episode, Vincent Snijders said:
So be careful if you use OUT with types that have range limitations. Not
setting the out parameter can make debug tools like gttt difficult.
You found a big in fcp-passrc, because if you have an out parameter,
then the callee has to output a valid variable. If it asumes that is
initialized when called, then it must use var instead.
I already had changed it to var in r23760. I did want to warn for the
bug's pattern, so I wrote this to the ml.
I'd really like the compiler would stop with an error if it can't
prove a variable/out/result is initialized.
Did anybody try implementing this in FPC?
Have fun fixing the errors then:
=== example begin ===
type
TTest = record
t: LongInt;
end;
var
t: TTest;
begin
FillChar(t, SizeOf(t), 0);
end;
=== example end ===
The above code will have the hint that "t" is not initalized.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel