Adriaan van Os wrote:
Waldek Hebisch wrote:
What causes this?
error: label `nonlocal_exit_18' not set
It's happening right after the declaration of a procedure in a unit.
It is a bug: what version you use and what input reproduce this message?
I vaguely remember that this error message appears when Exit( procname) is used and there is another error in the source code. But an example that reproduces it would be better.
{$mac-pascal} program testexit;
procedure P; begin Exit(P);
begin P end.
But to answer Waldek's question, with gpc-20060215 the error doesn't seem to appear. Is this in the bug-fix list ?
I don't see it there. But it must say that, at least to me, such problems are not the highest priority. Generally, it's impossible to do the "best" thing after a recognized error, as it's generally even impossible to know what's "best" without mind-reading. Sometimes, seemingly unrelated changed affect such behaviour, and I usually don't really make effort to prevent this, as long as it doesn't prevent the detection of the original error, of course.
So, in general, while it's often useful to see several error messages at once, only the first one should be considered reliable. If subsequent messages seem strange or wrong, it's always recommended to fix the preceding ones and compile again.
That said, if it's easy to prevent spurious follow-up errors, I like to do so, and sometimes when I do, I don't actually document this in the todo list ...
Frank