Take arg of type __jmp_buf, not jmp_buf.
authorRoland McGrath <roland@gnu.org>
Sun, 4 Dec 1994 19:04:45 +0000 (19:04 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 4 Dec 1994 19:04:45 +0000 (19:04 +0000)
sysdeps/alpha/__longjmp.c
sysdeps/vax/__longjmp.c

index c90f408..19a2e26 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1994 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,13 +16,7 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#ifndef __GNUC__
-#error This file uses GNU C extensions; you must compile with GCC.
-#endif
-
-/*#include <setjmp.h>*/
-#include "jmp_buf.h"
-#define jmp_buf __jmp_buf
+/* Global register vars must come before any function defn.  */
 
 register long int
   r9 asm ("$9"), r10 asm ("$10"), r11 asm ("$11"), r12 asm ("$12"),
@@ -36,13 +30,14 @@ register double
   f6 asm ("$f6"), f7 asm ("$f7"), f8 asm ("$f8"), f9 asm ("$f9");
 #endif
 
-/* Jump to the position specified by ENV, causing the
-   setjmp call there to return VAL, or 1 if VAL is 0.
+#include <setjmp.h>
 
-   We declare this function to return an `int';
-   in fact, the value being returned is going to the caller of setjmp.  */
-volatile void
-__longjmp (const jmp_buf env, int val)
+
+/* Jump to the position specified by ENV, causing the
+   setjmp call there to return VAL, or 1 if VAL is 0.  */
+__NORETURN 
+void
+__longjmp (const __jmp_buf env, int val)
 {
   /* Restore the integer registers.  */
   r9 = env[0].__9;
index fadfae7..0ee040a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
    Derived from @(#)_setjmp.s  5.7 (Berkeley) 6/27/88,
    Copyright (c) 1980 Regents of the University of California.
 
@@ -31,7 +31,7 @@ Cambridge, MA 02139, USA.  */
    setjmp call there to return VAL, or 1 if VAL is 0.  */
 __NORETURN
 void
-DEFUN(__longjmp, (env, val), CONST jmp_buf env AND int val)
+DEFUN(__longjmp, (env, val), CONST __jmp_buf env AND int val)
 {
   register long int *fp asm("fp");
   long int *regsave;