msun/powerpc: convert fenv functions to proper linkage
namely fegetexceptflag(3) fesetexceptflag(3) feraiseexcept(3) fetestexcept(3) fegetround(3) fesetround(3) fegetenv(3) feholdexcept(3) fesetenv(3) feupdateenv(3) feenableexcept(3) fedisableexcept(3) fegetexcept(3) PR: 277958 Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56139
This commit is contained in:
+71
-12
@@ -41,15 +41,74 @@ int
|
||||
return (__feclearexcept_int(excepts));
|
||||
}
|
||||
|
||||
extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts);
|
||||
extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts);
|
||||
extern inline int feraiseexcept(int __excepts);
|
||||
extern inline int fetestexcept(int __excepts);
|
||||
extern inline int fegetround(void);
|
||||
extern inline int fesetround(int __round);
|
||||
extern inline int fegetenv(fenv_t *__envp);
|
||||
extern inline int feholdexcept(fenv_t *__envp);
|
||||
extern inline int fesetenv(const fenv_t *__envp);
|
||||
extern inline int feupdateenv(const fenv_t *__envp);
|
||||
extern inline int feenableexcept(int __mask);
|
||||
extern inline int fedisableexcept(int __mask);
|
||||
int
|
||||
(fegetexceptflag)(fexcept_t *flagp, int excepts)
|
||||
{
|
||||
return (__fegetexceptflag_int(flagp, excepts));
|
||||
}
|
||||
|
||||
int
|
||||
(fesetexceptflag)(const fexcept_t *flagp, int excepts)
|
||||
{
|
||||
return (__fesetexceptflag_int(flagp, excepts));
|
||||
}
|
||||
|
||||
int
|
||||
(feraiseexcept)(int excepts)
|
||||
{
|
||||
return (__feraiseexcept_int(excepts));
|
||||
}
|
||||
|
||||
int
|
||||
(fetestexcept)(int excepts)
|
||||
{
|
||||
return (__fetestexcept_int(excepts));
|
||||
}
|
||||
|
||||
int
|
||||
(fegetround)(void)
|
||||
{
|
||||
return (__fegetround_int());
|
||||
}
|
||||
|
||||
int
|
||||
(fesetround)(int round)
|
||||
{
|
||||
return (__fesetround_int(round));
|
||||
}
|
||||
|
||||
int
|
||||
(fegetenv)(fenv_t *envp)
|
||||
{
|
||||
return (__fegetenv_int(envp));
|
||||
}
|
||||
|
||||
int
|
||||
(feholdexcept)(fenv_t *envp)
|
||||
{
|
||||
return (__feholdexcept_int(envp));
|
||||
}
|
||||
|
||||
int
|
||||
(fesetenv)(const fenv_t *envp)
|
||||
{
|
||||
return (__fesetenv_int(envp));
|
||||
}
|
||||
|
||||
int
|
||||
(feupdateenv)(const fenv_t *envp)
|
||||
{
|
||||
return (__feupdateenv_int(envp));
|
||||
}
|
||||
|
||||
int
|
||||
(feenableexcept)(int mask)
|
||||
{
|
||||
return (__feenableexcept_int(mask));
|
||||
}
|
||||
|
||||
int
|
||||
(fedisableexcept)(int mask)
|
||||
{
|
||||
return (__fedisableexcept_int(mask));
|
||||
}
|
||||
|
||||
+39
-12
@@ -112,7 +112,28 @@ union __fpscr {
|
||||
};
|
||||
|
||||
int feclearexcept(int);
|
||||
int fegetexceptflag(fexcept_t *, int);
|
||||
int fesetexceptflag(const fexcept_t *, int);
|
||||
int feraiseexcept(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 *);
|
||||
|
||||
#define feclearexcept(a) __feclearexcept_int(a)
|
||||
#define fegetexceptflag(e, a) __fegetexceptflag_int(e, a)
|
||||
#define fesetexceptflag(e, a) __fesetexceptflag_int(e, a)
|
||||
#define feraiseexcept(a) __feraiseexcept_int(a)
|
||||
#define fetestexcept(a) __fetestexcept_int(a)
|
||||
#define fegetround() __fegetround_int()
|
||||
#define fesetround(a) __fesetround_int(a)
|
||||
#define fegetenv(e) __fegetenv_int(e)
|
||||
#define feholdexcept(e) __feholdexcept_int(e)
|
||||
#define fesetenv(e) __fesetenv_int(e)
|
||||
#define feupdateenv(e) __feupdateenv_int(e)
|
||||
|
||||
__fenv_static inline int
|
||||
__feclearexcept_int(int __excepts)
|
||||
@@ -128,7 +149,7 @@ __feclearexcept_int(int __excepts)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fegetexceptflag(fexcept_t *__flagp, int __excepts)
|
||||
__fegetexceptflag_int(fexcept_t *__flagp, int __excepts)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -138,7 +159,7 @@ fegetexceptflag(fexcept_t *__flagp, int __excepts)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fesetexceptflag(const fexcept_t *__flagp, int __excepts)
|
||||
__fesetexceptflag_int(const fexcept_t *__flagp, int __excepts)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -152,7 +173,7 @@ fesetexceptflag(const fexcept_t *__flagp, int __excepts)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
feraiseexcept(int __excepts)
|
||||
__feraiseexcept_int(int __excepts)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -165,7 +186,7 @@ feraiseexcept(int __excepts)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fetestexcept(int __excepts)
|
||||
__fetestexcept_int(int __excepts)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -174,7 +195,7 @@ fetestexcept(int __excepts)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fegetround(void)
|
||||
__fegetround_int(void)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -183,7 +204,7 @@ fegetround(void)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fesetround(int __round)
|
||||
__fesetround_int(int __round)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -197,7 +218,7 @@ fesetround(int __round)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fegetenv(fenv_t *__envp)
|
||||
__fegetenv_int(fenv_t *__envp)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -207,7 +228,7 @@ fegetenv(fenv_t *__envp)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
feholdexcept(fenv_t *__envp)
|
||||
__feholdexcept_int(fenv_t *__envp)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -219,7 +240,7 @@ feholdexcept(fenv_t *__envp)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fesetenv(const fenv_t *__envp)
|
||||
__fesetenv_int(const fenv_t *__envp)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -229,7 +250,7 @@ fesetenv(const fenv_t *__envp)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
feupdateenv(const fenv_t *__envp)
|
||||
__feupdateenv_int(const fenv_t *__envp)
|
||||
{
|
||||
union __fpscr __r;
|
||||
|
||||
@@ -242,8 +263,14 @@ feupdateenv(const fenv_t *__envp)
|
||||
|
||||
#if __BSD_VISIBLE
|
||||
|
||||
int feenableexcept(int);
|
||||
int fedisableexcept(int);
|
||||
|
||||
#define feenableexcept(a) __feenableexcept_int(a)
|
||||
#define fedisableexcept(a) __fedisableexcept_int(a)
|
||||
|
||||
__fenv_static inline int
|
||||
feenableexcept(int __mask)
|
||||
__feenableexcept_int(int __mask)
|
||||
{
|
||||
union __fpscr __r;
|
||||
fenv_t __oldmask;
|
||||
@@ -256,7 +283,7 @@ feenableexcept(int __mask)
|
||||
}
|
||||
|
||||
__fenv_static inline int
|
||||
fedisableexcept(int __mask)
|
||||
__fedisableexcept_int(int __mask)
|
||||
{
|
||||
union __fpscr __r;
|
||||
fenv_t __oldmask;
|
||||
|
||||
Reference in New Issue
Block a user