Tom Schneider wrote:
Oh - sorry I didn't catch that. Are these messages archived somewhere?
Yes: http://www.gnu.de/archive/wilma.cgi/gpc#browse
This particular case is my method of making a 'standard' halting function, so for better or worse it is embedded in all of my programs.
I'd be happy to help, but don't know what I could do. All compilers I have ever seen before were happy with this construction.
Then you have never seen a Turbo/Borland Pascal compiler. ;-)
Seriously, the problem is in how the GCC backend handles a GCC extension not present in ANSI C: `goto's with declared labels from a sub-function to the parent. (ANSI C does not have sub-functions; GNU C has.) Since global procedures are _not_ sub-functions of the main program in GPC, this mechanism is modified in GPC in a way which worked under gcc-2.8.x and egcs-1.1.x, but breaks under gcc-2.95.x. (For entry points to the GPC source, see my other mail.)
What we need now is either a fix for this hack, or a better method to obtain such a non-local `goto' to the main program. (C's `setjump()' does not do the job because the target of the jump has not necessarily been executed before the jump takes place.)
Peter