]> git.ipfire.org Git - thirdparty/glibc.git/blob - setjmp/jmpbug.c
build-many-glibcs: Check for required system tools
[thirdparty/glibc.git] / setjmp / jmpbug.c
1 /* setjmp vs alloca test case. Exercised bug on sparc. */
2
3 #include <stdio.h>
4 #include <setjmp.h>
5 #include <alloca.h>
6
7 static void
8 sub5 (jmp_buf buf)
9 {
10 longjmp (buf, 1);
11 }
12
13 static void
14 test (int x)
15 {
16 jmp_buf buf;
17 char *volatile foo;
18 int arr[100];
19
20 arr[77] = x;
21 if (setjmp (buf))
22 {
23 printf ("made it ok; %d\n", arr[77]);
24 return;
25 }
26
27 foo = (char *) alloca (128);
28 (void) foo;
29 sub5 (buf);
30 }
31
32 int
33 main (void)
34 {
35 int i;
36
37 for (i = 123; i < 345; ++i)
38 test (i);
39
40 return 0;
41 }