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.
Regards,
Adriaan van Os
[Original poster] I sent the rather lengthy source listing that caused the problem to Waldek off-list along with version info and error output. He wasn't able to reproduce the problem, but pointed out that there was another error in my code. So here is a short etymology (entomology?) of the problem:
Source was created as FORTRAN many years ago and then converted to THINK Pascal.
It then compiled OK under Codewarrior 8.3 Pascal a few years ago (maybe with some changes).
I tried to port it to GPC a couple days ago. GPC didn't like my use of label and goto (FORTRAN cruft, used to to exit the program), even thought CW was cool with it. I felt that GPC was wrong in complaining, but usually it's me that's wrong. At the same time, it complained about nonlocal_exit_18.
I replaced the label and goto with an Exit statement--no arguments with Exit. At about the same time I brilliantly replaced StringOf with WriteStr (that's right--I tried to use WriteStr as a function, not a procedure). The original error about the label and goto went away, but I got two errors related to my botched use of WriteStr, followed by the remaining nonlocal_exit_18 error.
I fixed the WriteStr problem, at which time the nonlocal_exit_18 error also disappeared.
Let me know if you want the source.
Jerry