(_JMPBUF_UNWINDS): Added.
authorRichard Henderson <rth@redhat.com>
Thu, 23 Apr 1998 22:46:39 +0000 (22:46 +0000)
committerRichard Henderson <rth@redhat.com>
Thu, 23 Apr 1998 22:46:39 +0000 (22:46 +0000)
1998-04-24  5:45  Richard Henderson  <rth@cygnus.com>

* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.

ChangeLog
sysdeps/alpha/bits/setjmp.h

index d937bdb..d8c3631 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1998-04-24  5:45  Richard Henderson  <rth@cygnus.com>
+
+       * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
+
 Wed Apr 22 11:06:09 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
index de37019..af0b5ae 100644 (file)
 
 #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