Adriaan van Os wrote:
Frank Heckenbach wrote:
Adriaan van Os wrote:
Frank Heckenbach wrote:
I've uploaded a new alpha to http://www.gnu-pascal.de/alpha/
It builds on Mac OS X. Testsuite results are as expected (known back-end issues)
That's only the nonlocal goto bug (if you apply the backend patches), or anything else?
fjf582.pas Segmentation fault stack overflow (solved with "limit stacksize 2048")
Still? I thought I'd avoided this by using subroutines, but apparently inlining spoiled this attempt. Try adding:
{ FLAG --no-inline-functions }
fjf664.pas Segmentation fault stack overflow (solved with "limit stacksize 2048")
Try this one.
I've had the idea that this can maybe be worked-around by using longjmp (as is done for nonlocal gotos into the main program which work AFAIR). I haven't dealt with label internals much, so I don't know how difficult this will be, but I may look into it when I get to it ...
Are non-local goto's used in C ?
In GCC, yes (standard C doesn't have nested functions, so the issue doesn't arise).
I think this is the test program I wrote when a similar problem was found on Solaris with gcc-2.95. You can try if it fails in your situation, too.
I may have reported it to the GCC people back then. I don't remember exactly and I don't feel like looking it up in my old mail. It doesn't really matter since they've ignored all my bug reports so far, anyway.
extern int puts (const char *); extern void abort (void);
int main (void) { __label__ l1;
void foo (void) {
void bar (void) { puts ("goto l1"); goto l1; }
bar (); }
foo (); abort (); l1: puts ("label l1"); return 0; }
If not, do the gcc guys accept Pascal or RTL programs in bug reports ?
I guess not.
Is there something like an RTL interpreter, for debugging and to isolate back-end from front-end bugs ?
Not AFAIK.
Frank