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
pretty-print.h (pp_base): Remove.
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.dg
/
setjmp-4.c
blob
53bf0e8724ad75e980c5cb1b6e9abef612382c1a
1
/* { dg-do run } */
2
/* { dg-options "-O" } */
3
4
#include <setjmp.h>
5
6
extern
void
abort
(
void
);
7
8
jmp_buf
buf
;
9
10
void
raise0
(
void
)
11
{
12
__builtin_longjmp
(
buf
,
1
);
13
}
14
15
int
execute
(
int
cmd
)
16
{
17
int
last
=
0
;
18
19
__builtin_setjmp
(
buf
);
20
21
if
(
last
==
0
)
22
while
(
1
)
23
{
24
last
=
1
;
25
raise0
();
26
}
27
28
if
(
last
==
0
)
29
return
0
;
30
else
31
return
cmd
;
32
}
33
34
int
main
(
void
)
35
{
36
if
(
execute
(
1
) ==
0
)
37
abort
();
38
39
return
0
;
40
}