1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
/* { dg-do compile } */ #include <setjmp.h> struct longjmp_buffer { jmp_buf buf; }; void plouf(); extern long interprete() { long * sp; int i; long *args; int n; struct longjmp_buffer raise_buf; setjmp (raise_buf.buf); plouf(); sp -= 4; for (i = 0; i < n; i++) args[i] = sp[10-i]; plouf(); return 0; }