Hi all,
I posted to this list before, but we were in the middle of switching mail systems and I'm not sure my message got out. The gist of my message was: there seems to be a bug in the way GPC handles the 'otherwise' clause of a case statement. If one of the previous cases contains a case statement itself, the compiler falls over. For example:
----------- program TestCase(input, output);
var test: integer; subtest: integer;
begin test := 3; subtest := 5;
case test of 1: case subtest of 5: writeln("subvalue was 5") end otherwise writeln("value wasn't 1") end end. -----------
Has anyone else noticed this or is it my mistake?
regards, -- Jon Ashley ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This email has been swept for the presence of known computer viruses. **********************************************************************
Hi!
Jonathan Ashley wrote:
[...] If one of the previous cases contains a case statement itself, the compiler falls over. For example:
program TestCase(input, output);
var test: integer; subtest: integer;
begin test := 3; subtest := 5;
case test of 1: case subtest of 5: writeln("subvalue was 5") end otherwise writeln("value wasn't 1") end
end.
What's the problem? For me, this program outputs "value wasn't 1" as it should be.
If I change the first assignment to "test := 1" I get "subvalue was 5", so everything okay here, too.
Peter