From a55e5526e2a32237bc2afc9c1fa45c376c522895 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 23 Apr 1998 22:46:39 +0000 Subject: (_JMPBUF_UNWINDS): Added. 1998-04-24 5:45 Richard Henderson * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added. --- ChangeLog | 4 ++++ sysdeps/alpha/bits/setjmp.h | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index d937bdbe04..d8c3631b91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +1998-04-24 5:45 Richard Henderson + + * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added. + Wed Apr 22 11:06:09 1998 Andreas Schwab * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Added. 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 -- cgit 1.4.1