Hi Everyone. I'm not reporting this as a bug. This happened in Delphi also.
Now that you all got me thinking about this, I remember there were two occasions when this problem happened (in Delphi) (in the distant past, in different versions of Delphi) where instead of using the ( and ) around the IF condition(s), I simply added a self negating line of code above where the IF statement was. Example:
This forced the following code (where the IF statement was) to be bumped down one line, re-line numbered and the compiler then worked correctly and the IF worked correctly, even without parenthesis.
It's as if a section of source code was resulting in a misinterpreted assembler section, and bumping everything down one line forced a new section of assembler to be created and fixed.
This is wacky, I know. But it happened. It's so crazy that it's not recreatable without the entire suspect source code. Leave it with me for now. I posted originally, just to see if anyone else had experienced this over the years they've been doing this.
From your responses, the answer is "no". So leave it with me for now. I will re-train myself to stop using unnecessary ( and ) based on your answers.