repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.dg
/
torture
/
stackalign
/
setjmp-4.c
blob
d1671223adb020d048842c15482247777eaae81c
1
/* { dg-do run } */
2
3
#include <setjmp.h>
4
5
extern
void
abort
(
void
);
6
7
jmp_buf
buf
;
8
9
void
raise0
(
void
)
10
{
11
__builtin_longjmp
(
buf
,
1
);
12
}
13
14
int
execute
(
int
cmd
)
15
{
16
int
last
=
0
;
17
18
__builtin_setjmp
(
buf
);
19
20
if
(
last
==
0
)
21
while
(
1
)
22
{
23
last
=
1
;
24
raise0
();
25
}
26
27
if
(
last
==
0
)
28
return
0
;
29
else
30
return
cmd
;
31
}
32
33
int
main
(
void
)
34
{
35
if
(
execute
(
1
) ==
0
)
36
abort
();
37
38
return
0
;
39
}