Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
a3407e42
Commit
a3407e42
authored
Nov 23, 2004
by
Eric Botcazou
Committed by
Eric Botcazou
Nov 23, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcc.dg/setjmp-2.c: New test.
From-SVN: r91087
parent
7ed5d5b2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
52 additions
and
0 deletions
+52
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/gcc.dg/setjmp-2.c
+48
-0
No files found.
gcc/testsuite/ChangeLog
View file @
a3407e42
2004
-
11
-
23
Eric
Botcazou
<
ebotcazou
@libertysurf
.
fr
>
*
gcc
.
dg
/
setjmp
-
2
.
c
:
New
test
.
2004
-
11
-
22
James
A
.
Morrison
<
phython
@gcc
.
gnu
.
org
>
*
gcc
.
target
/
sparc
/
align
.
c
,
gcc
.
target
/
sparc
/
combined
-
2
.
c
,
...
...
gcc/testsuite/gcc.dg/setjmp-2.c
0 → 100644
View file @
a3407e42
/* PR middle-end/17813 */
/* Origin: Tom Hughes <tom@compton.nu> */
/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
/* { dg-options "-O -fomit-frame-pointer -march=i386" { target i?86-*-linux* } } */
/* { dg-options "-O -fomit-frame-pointer -m32 -march=i386" { target x86_64-*-linux* } } */
#include <setjmp.h>
#include <signal.h>
#include <stdlib.h>
static
jmp_buf
segv_jmpbuf
;
static
void
segv_handler
(
int
seg
)
{
__builtin_longjmp
(
segv_jmpbuf
,
1
);
}
static
int
is_addressable
(
void
*
p
,
size_t
size
)
{
volatile
char
*
volatile
cp
=
(
volatile
char
*
)
p
;
volatile
int
ret
;
struct
sigaction
sa
,
origsa
;
sigset_t
mask
;
sa
.
sa_handler
=
segv_handler
;
sa
.
sa_flags
=
0
;
sigfillset
(
&
sa
.
sa_mask
);
sigaction
(
SIGSEGV
,
&
sa
,
&
origsa
);
sigprocmask
(
SIG_SETMASK
,
NULL
,
&
mask
);
if
(
__builtin_setjmp
(
segv_jmpbuf
)
==
0
)
{
while
(
size
--
)
*
cp
++
;
ret
=
1
;
}
else
ret
=
0
;
sigaction
(
SIGSEGV
,
&
origsa
,
NULL
);
sigprocmask
(
SIG_SETMASK
,
&
mask
,
NULL
);
return
ret
;
}
int
main
(
int
argc
,
char
**
argv
)
{
is_addressable
(
0x0
,
1
);
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment