summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2006-01-24 21:42:40 +0000
committerPeter S. Mazinger <ps.m@gmx.net>2006-01-24 21:42:40 +0000
commit9ec6519d8521b17dc5f4f8bfd0d7cdc8e8a9e237 (patch)
tree304a89d30bf18f147e18d2b462e08b7ec782f9f2
parent0de41b04e121da8039ebf39429e24617808e2aea (diff)
add noreturn for *longjmp
-rw-r--r--libpthread/linuxthreads.old/ptlongjmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libpthread/linuxthreads.old/ptlongjmp.c b/libpthread/linuxthreads.old/ptlongjmp.c
index ca29c7722..d18f9b330 100644
--- a/libpthread/linuxthreads.old/ptlongjmp.c
+++ b/libpthread/linuxthreads.old/ptlongjmp.c
@@ -21,8 +21,8 @@
/* These functions are not declared anywhere since they shouldn't be
used at another place but here. */
-extern __typeof(siglongjmp) __libc_siglongjmp;
-extern __typeof(longjmp) __libc_longjmp;
+extern void __libc_siglongjmp (sigjmp_buf env, int val) attribute_noreturn;
+extern void __libc_longjmp (sigjmp_buf env, int val) attribute_noreturn;
static void pthread_cleanup_upto(__jmp_buf target)
{
@@ -39,13 +39,13 @@ static void pthread_cleanup_upto(__jmp_buf target)
THREAD_SETMEM(self, p_in_sighandler, NULL);
}
-void siglongjmp(sigjmp_buf env, int val)
+void attribute_noreturn siglongjmp(sigjmp_buf env, int val)
{
pthread_cleanup_upto(env->__jmpbuf);
__libc_siglongjmp(env, val);
}
-void longjmp(jmp_buf env, int val)
+void attribute_noreturn longjmp(jmp_buf env, int val)
{
pthread_cleanup_upto(env->__jmpbuf);
__libc_siglongjmp(env, val);