entered into RCS

This commit is contained in:
Roland McGrath 1992-05-24 05:59:13 +00:00
parent 47688c639e
commit 4dd8b03944

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991 Free Software Foundation, Inc. /* Copyright (C) 1991, 1992 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
@ -19,7 +19,7 @@ Cambridge, MA 02139, USA. */
#ifndef _68881_SWITCH_H #ifndef _68881_SWITCH_H
#define _68881_SWITCH_H 1 #define _68881_SWITCH_H 1
#include <sys/cdefs.h>
/* This is the format of the data at the code label for a function which /* This is the format of the data at the code label for a function which
wants to switch depending on whether or not a 68881 is present. wants to switch depending on whether or not a 68881 is present.
@ -33,9 +33,9 @@ Cambridge, MA 02139, USA. */
struct switch_caller struct switch_caller
{ {
unsigned short int insn; /* The `jsr' or `jmp' instruction. */ unsigned short int insn; /* The `jsr' or `jmp' instruction. */
PTR target; /* The target of the instruction. */ __ptr_t target; /* The target of the instruction. */
PTR soft; /* The address of the soft function. */ __ptr_t soft; /* The address of the soft function. */
PTR fpu; /* The address of the 68881 function. */ __ptr_t fpu; /* The address of the 68881 function. */
}; };
/* These are opcodes (values for `insn', above) for `jmp' and `jsr' /* These are opcodes (values for `insn', above) for `jmp' and `jsr'
@ -50,20 +50,14 @@ struct switch_caller
extern void EXFUN(__68881_switch, (int __dummy)); extern void EXFUN(__68881_switch, (int __dummy));
#ifdef __STDC__
#define __paste(a, b) a ## b
#else
#define __paste(a, b) a/**/b
#endif
/* Define FUNCTION as a `struct switch_caller' which will call /* Define FUNCTION as a `struct switch_caller' which will call
`__FUNCTION_68881' if a 68881 is present, and `__FUNCTION_soft' if not. `__FUNCTION_68881' if a 68881 is present, and `__FUNCTION_soft' if not.
#define switching_function(FUNCTION) \ #define switching_function(FUNCTION) \
struct switch_caller FUNCTION = \ struct switch_caller FUNCTION = \
{ \ { \
JSR, (PTR) __68881_switch, \ JSR, (__ptr_t) __68881_switch, \
__paste(__paste(__, FUNCTION), _soft), \ __CONCAT(__CONCAT(__,FUNCTION),_soft), \
__paste(__paste(__, FUNCTION), _68881) \ __CONCAT(__CONCAT(__,FUNCTION),_68881) \
} }