m68k: really add fenv from musl-1.1.24
Somehow the first review merged only the commit log. FreeBSD doesn't have m68k anyway, so use fenv from musl with as less changes as possible. Change-Id: I6372af6679e6773fbb6bf4c8b5b30512971a97a6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3161 Reviewed-by: Alex von Gluck IV <[email protected]>
This commit is contained in:
committed by
Alex von Gluck IV
parent
48099e3e48
commit
425515d0ac
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 2005-2019 Rich Felker, et al.
|
||||
*
|
||||
* Part of MUSL, released under the MIT license.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _FENV_H_
|
||||
#define _FENV_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if __HAVE_68881__ || __mcffpu__
|
||||
|
||||
#define FE_INEXACT 8
|
||||
#define FE_DIVBYZERO 16
|
||||
#define FE_UNDERFLOW 32
|
||||
#define FE_OVERFLOW 64
|
||||
#define FE_INVALID 128
|
||||
|
||||
#define FE_ALL_EXCEPT 0xf8
|
||||
|
||||
#define FE_TONEAREST 0
|
||||
#define FE_TOWARDZERO 16
|
||||
#define FE_DOWNWARD 32
|
||||
#define FE_UPWARD 48
|
||||
|
||||
#else
|
||||
|
||||
#define FE_ALL_EXCEPT 0
|
||||
#define FE_TONEAREST 0
|
||||
|
||||
#endif
|
||||
|
||||
typedef unsigned fexcept_t;
|
||||
|
||||
typedef struct {
|
||||
unsigned __control_register, __status_register, __instruction_address;
|
||||
} fenv_t;
|
||||
|
||||
#define FE_DFL_ENV ((const fenv_t *) -1)
|
||||
|
||||
int feclearexcept(int);
|
||||
int fegetexceptflag(fexcept_t *, int);
|
||||
int feraiseexcept(int);
|
||||
int fesetexceptflag(const fexcept_t *, int);
|
||||
int fetestexcept(int);
|
||||
|
||||
int fegetround(void);
|
||||
int fesetround(int);
|
||||
|
||||
int fegetenv(fenv_t *);
|
||||
int feholdexcept(fenv_t *);
|
||||
int fesetenv(const fenv_t *);
|
||||
int feupdateenv(const fenv_t *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
# include <arch/riscv64/fenv.h>
|
||||
#elif defined(__sparc__)
|
||||
# include <arch/sparc64/fenv.h>
|
||||
#elif defined(__M68K__)
|
||||
# include <arch/m68k/fenv.h>
|
||||
#else
|
||||
# error There is no fenv.h for this architecture!
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user