Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-06-21 22:48:45 +0400
committerCorinna Vinschen <corinna@vinschen.de>2008-06-21 22:48:45 +0400
commiteb3f08acf86feff10cfecc235758a1cc07da29cf (patch)
tree8a090bb13fe98a8e74a7762e0fe961f7b2999e90 /newlib
parent31558344b04adfac15e538d14ec3e87bfc31b809 (diff)
* libc/include/machine/setjmp.h (_longjmp): Define as function on
Cygwin. (_setjmp): Ditto.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog6
-rw-r--r--newlib/libc/include/machine/setjmp.h7
2 files changed, 12 insertions, 1 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 0d19e35d4..c3e5a15d6 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/include/machine/setjmp.h (_longjmp): Define as function on
+ Cygwin.
+ (_setjmp): Ditto.
+
2008-06-18 Eric Blake <ebb9@byu.net>
Per Posix, strsignal returns non-const char*.
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
index 4e850cf2f..9d798ffb6 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -307,11 +307,16 @@ typedef int sigjmp_buf[_JBLEN+2];
#endif
-/* POSIX _setjmp/_longjmp macros, maintained for XSI compatibility. These
+/* POSIX _setjmp/_longjmp, maintained for XSI compatibility. These
are equivalent to sigsetjmp/siglongjmp when not saving the signal mask.
New applications should use sigsetjmp/siglongjmp instead. */
+#ifdef __CYGWIN__
+extern void _longjmp(jmp_buf, int);
+extern int _setjmp(jmp_buf);
+#else
#define _setjmp(env) sigsetjmp ((env), 0)
#define _longjmp(env, val) siglongjmp ((env), (val))
+#endif
#ifdef __cplusplus
}