On 5/18/2019 4:30 AM, J. Gareth Moreton wrote:
Hi everyone,

So it looks like this new warning has appeared as part of the data flow analysis of -O4.  The thing is, I personally have a problem with this being a warning, because there's nothing inherently wrong with not covering every case branch or omitting an else block (especially if one isn't needed).  Adding "else ;" everywhere seems to just cause bloat.

Still, code style aside, can I suggest the warning be downgraded into a hint? Warnings should indicate the possibility of unstable code due to uninitialised values, for example, and DFA should be able to detect that anyway as a separate warning (e.g. if a case block doesn't initialise an output value in all of its branches).

Sorry, but you seem to suffer from the "lazy programmer syndrome". A warning is correct, as a case of unhandled */case/* statement can indeed lead to unexpected side effects. While there could be cases where you might want to react with the /*case*/ statement to only certain conditions (and can safely assume that all other conditions don't do ill effects), there is also the case where an unknown/unexpected condition is passed and that can have dire consequences, and should be properly acted upon, by the /*else*/ clause within the case statement...

Ralf




---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to