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