[fpc-devel] Case else allows multiple statements
kirinn at mooncore.eu
Thu Sep 19 21:07:25 CEST 2019
I've stumbled on a situation where a case statement compiles when I
wouldn't expect it to. I would expect the below code to produce a
var i : byte = 5;
case i of
0..4: writeln('value is ', i);
i := 3;
This compiles without errors or warnings on FPC 3.0.4 and produces the
None of the documentation I've looked at suggests that a case-else is
implicitly a block. All examples in the documentation show only a single
statement in any else clause, or an explicit begin-end block.
Is this expected behavior? If yes, the reference guide (13.2.2) would
benefit from mentioning this.
More information about the fpc-devel