Browse Source

add noreturn for *longjmp

Peter S. Mazinger 18 years ago
parent
commit
9ec6519d85
1 changed files with 4 additions and 4 deletions
  1. 4 4
      libpthread/linuxthreads.old/ptlongjmp.c

+ 4 - 4
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);