Take arg of type __jmp_buf, not jmp_buf.

This commit is contained in:
Roland McGrath 1994-12-04 19:04:45 +00:00
parent b0a51e5395
commit 29031a89a2
2 changed files with 11 additions and 16 deletions

View 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#ifndef __GNUC__ /* Global register vars must come before any function defn. */
#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
register long int register long int
r9 asm ("$9"), r10 asm ("$10"), r11 asm ("$11"), r12 asm ("$12"), 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"); f6 asm ("$f6"), f7 asm ("$f7"), f8 asm ("$f8"), f9 asm ("$f9");
#endif #endif
/* Jump to the position specified by ENV, causing the #include <setjmp.h>
setjmp call there to return VAL, or 1 if VAL is 0.
We declare this function to return an `int';
in fact, the value being returned is going to the caller of setjmp. */ /* Jump to the position specified by ENV, causing the
volatile void setjmp call there to return VAL, or 1 if VAL is 0. */
__longjmp (const jmp_buf env, int val) __NORETURN
void
__longjmp (const __jmp_buf env, int val)
{ {
/* Restore the integer registers. */ /* Restore the integer registers. */
r9 = env[0].__9; r9 = env[0].__9;

View 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, Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88,
Copyright (c) 1980 Regents of the University of California. 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. */ setjmp call there to return VAL, or 1 if VAL is 0. */
__NORETURN __NORETURN
void 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"); register long int *fp asm("fp");
long int *regsave; long int *regsave;