diff options
author | Richard Henderson <rth@redhat.com> | 1998-04-23 22:46:39 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1998-04-23 22:46:39 +0000 |
commit | a55e5526e2a32237bc2afc9c1fa45c376c522895 (patch) | |
tree | 034b3f0c3f37f054995f592ad322b1cfdc1537a2 /sysdeps/alpha/bits/setjmp.h | |
parent | af3878dff0963da299b6b54d3a76f9c1a68aac27 (diff) | |
download | glibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.tar.gz glibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.tar.xz glibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.zip |
(_JMPBUF_UNWINDS): Added.
1998-04-24 5:45 Richard Henderson <rth@cygnus.com> * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
Diffstat (limited to 'sysdeps/alpha/bits/setjmp.h')
-rw-r--r-- | sysdeps/alpha/bits/setjmp.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/alpha/bits/setjmp.h b/sysdeps/alpha/bits/setjmp.h index de37019218..af0b5ae577 100644 --- a/sysdeps/alpha/bits/setjmp.h +++ b/sysdeps/alpha/bits/setjmp.h @@ -74,4 +74,10 @@ #ifndef __ASSEMBLY__ typedef long int __jmp_buf[17]; + +/* Test if longjmp to JMPBUF would unwind the frame containing a local + variable at ADDRESS. */ +#define _JMPBUF_UNWINDS(_jmpbuf, _address) \ + ({ register void *_sp __asm__("$30"); void *_addr = (_address); \ + _sp <= _addr && _addr < (void *)((_jmpbuf)[JB_SP]); }) #endif |