Hi!
I've encountered the message in the subject trying to compile the following:
program x(input, output); label x_label; var z:integer; w:string; function f:string begin f:='f'; end;
begin if z = 1 then begin writeln('to x_label'); goto x_label; end;
w:= 'z:'+f;
x_label:;
end.
Compilation fails and I get: x.pas:3: label 'x_label' used before containing binding contour.
If I surround w:= 'z:'+f; with 'begin/end' then everything compiles. also if summation is not on string everything compiles.
I use "gpc version 20030507, based on gcc-3.2.1"
I've found in the archive message #2535 descring the same problem. However the message seems to be unanswered, at least the answer was not on the archive....
Thank you in advance,
Nick Ioffe ===================================================== message #2535 From: Berend de Boer Subject: label used before containingn binding contour Date: 29 Jan 1999, 21:01:21 Since about 5 years I try to compile lex for extended pascal with gpc. However, I still don't succeed. This program is a real test case I assume :-)
Here the latest error, boiled down to the most minimal code:
------------------------ program Test;
type string255=string(255);
function Test(filename, ext : String): string255; label 1,2; begin Test := ''; goto 1; goto 2; 2: Test := filename+'.'; 1: ; end;
begin end. ------------------------
Groetjes,
Berend. =======================================