]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/pr97357.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / pr97357.c
1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3 /* { dg-require-effective-target indirect_jumps } */
4
5 #include <setjmp.h>
6 #include <stdlib.h>
7
8 void * my_malloc (size_t size);
9
10 typedef struct glk {
11 struct glk *nxt;
12 } glk;
13
14 typedef struct Lock
15 {
16 glk ByteLock;
17 } Lock;
18
19 static Lock *l, *lk;
20
21 void bytelocks(glk *rethead, jmp_buf jb)
22 {
23 glk *cur, *cur_lk;
24
25 if (( setjmp (jb)) == 0)
26 for (cur = &l->ByteLock; cur != ((glk *)0) ; cur = (cur)->nxt)
27 for (cur_lk = &lk->ByteLock; cur_lk != ((glk *)0); cur_lk = cur_lk->nxt)
28 {
29 glk *retrng;
30
31 if(!rethead)
32 rethead = (glk *) my_malloc (sizeof(glk));
33 retrng = (glk *) my_malloc (sizeof(glk));
34
35 retrng->nxt = rethead;
36 }
37
38 return;
39 }