[fpc-devel] Wrong docs: not initialized global variables
Jonas Maebe
jonas at freepascal.org
Wed Apr 4 21:51:10 CEST 2018
On 04/04/18 20:26, Ondrej Pokorny wrote:
> The compiler initializes the variable implicitely for myself - this is
> documented and I know it. There cannot be "wrong code behaviour" (as you
> stated) and thus I cannot have an error. This is simple logic.
"Wrong behaviour" is not the same as "undefined behaviour" or "crash".
It merely means "something different than the programmer intended". It
is of course possible that you wanted the behaviour that you get when
the variable contains the empty string, nil or 0, but because this
initialisation is implicit rather than explicit, the compiler does not
rely on this. After all, it is equally possible that you forgot to
assign the correct (non-nil/0/empty string) value to the variable before
using it the first time (in which case it would be an error in the program).
> I must not. Turning off warnings is forbidden. Turning off hints and notes is OK. That is the rules.
The inflexibility of that rule in the Lazarus project is not a good
reason to change the priority of the message.
> But I am not fine with the fact that the level of this message is a WARNING - the same level that real code errors are reported.
Warnings are not errors. Warnings indicate possible errors, but they can
also be false positives.
Jonas
More information about the fpc-devel
mailing list