Adriaan van Os wrote:
FAIL: fjf1062a.pas /var/tmp//ccpndmuf.s:71:non-relocatable subtraction expression, "L2" minus "L00000000001$pb" /var/tmp//ccpndmuf.s:71:symbol: "L2" can't be undefined in a subtraction expression /var/tmp//ccpndmuf.s:69:non-relocatable subtraction expression, "L2" minus "L00000000001$pb" /var/tmp//ccpndmuf.s:69:symbol: "L2" can't be undefined in a subtraction expression /var/tmp//ccpndmuf.s:unknown:Undefined local symbol L2 failed
Looks like backend regression to me. AFAICS the following C program has the same problem:
void Object (void) { void * jmpbuf_1[6]; void P (void) { { void * jmpbuf_3[6];
if (__builtin_setjmp (&jmpbuf_3)) goto nonlocal_exit_2; else (void) 0;; __builtin_longjmp (&jmpbuf_1, 1); nonlocal_exit_2:;; } } { if (__builtin_setjmp (&jmpbuf_1)) goto nonlocal_exit_0; else (void) 0;; P (); nonlocal_exit_0:;; } }
int main(void) { Object (); }