On 10 Nov 2001, at 11:03, Martin G C Davies wrote:
The original source was:-
[...]
but with GPC [...] the run gives:-
level_1 level_2 level_3 goto 1 Segmentation Fault(coredump)
Using:
Reading specs from E:\Programming\Pascal\i486-pc-mingw32msvc\2.95.3\specs gpc version 20010924, based on 2.95.3 20010315 (release)
I get:
level_1 level_2 level_3 goto 1 label 1
It rather looks like the stack manipulation (or something) has got rather mucked up.
I note from the generated code on the x86 processor that the jump is indirect through a location on the stack. Does the Sparc object to this? I seem to recall that certain processors don't allow jumps to code on the stack; might that possibly extend to jumps through the stack as well?
Or perhaps it's simply a GPC code generation bug, although one that doesn't occur equivalently on the x86.
-- Dave