On 16 Sep 2009, at 10:49, theo wrote:

Uninitialised means exactly that: not initialised, neither with false,
nor with true

OK, that's what I thought. So Delphi is "hiding" a coding bug here.

Well, it's not Delphi's fault either. It could just as well have been the other way round (with the value being non-0 in Delphi, and 0 in FPC).

Hard to find such little things ;-)

You can fairly expose most such bugs in FPC by compiling with -gt, - gtt or -gttt. All of these will initialise all local variables (and out parameters) with specific (non-0) values when the function starts. -gtttt initialises everything with 0, but that is generally more likely to hide bugs than expose them. It doesn't hurt to try that one too though.

Note: I would strongly recommend against using -gtttt in shipping software to have automatic zero-initialisation of local variables, since the initialisation is performed in a very inefficient way.


Jonas

PS: your system clock seems to be off by an hour, could you correct it? (it messes up thread ordering of messages)
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to