annotate gcc/testsuite/gcc.dg/torture/pr63738.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-require-effective-target nonlocal_goto } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #include <setjmp.h>
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 struct longjmp_buffer {
kono
parents:
diff changeset
7 jmp_buf buf;
kono
parents:
diff changeset
8 };
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 void plouf();
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 extern long interprete()
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 long * sp;
kono
parents:
diff changeset
15 int i;
kono
parents:
diff changeset
16 long *args;
kono
parents:
diff changeset
17 int n;
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 struct longjmp_buffer raise_buf;
kono
parents:
diff changeset
20 setjmp (raise_buf.buf);
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 plouf();
kono
parents:
diff changeset
23 sp -= 4;
kono
parents:
diff changeset
24 for (i = 0; i < n; i++)
kono
parents:
diff changeset
25 args[i] = sp[10-i];
kono
parents:
diff changeset
26 plouf();
kono
parents:
diff changeset
27 return 0;
kono
parents:
diff changeset
28 }