Date: Mon, 30 Mar 2026 17:15:38 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 5bc64b7d417d - main - msun/x86: convert rest of the extern inline fenv functions to proper linkage Message-ID: <69caafba.41f04.6cb73a9a@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5bc64b7d417dd1f105755e093f8e807bcdc2a666 commit 5bc64b7d417dd1f105755e093f8e807bcdc2a666 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2026-03-28 22:36:55 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2026-03-30 16:57:00 +0000 msun/x86: convert rest of the extern inline fenv functions to proper linkage namely fegetexceptflag(3) fetestexcept(3) fesetround(3) fegetround(3) fesetenv(3) Same as it was done in f39754d51b7dc65c4cf9f for feclearexcept(3). PR: 277958 Reviewed by: dim Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56139 --- lib/msun/amd64/fenv.c | 32 +++++++++++++++++++++++++++----- lib/msun/i387/fenv.c | 32 +++++++++++++++++++++++++++----- lib/msun/x86/fenv.h | 29 ++++++++++++++++++++--------- 3 files changed, 74 insertions(+), 19 deletions(-) diff --git a/lib/msun/amd64/fenv.c b/lib/msun/amd64/fenv.c index cd3b83d11585..5dd122cf457c 100644 --- a/lib/msun/amd64/fenv.c +++ b/lib/msun/amd64/fenv.c @@ -52,7 +52,11 @@ int return (__feclearexcept_int(excepts)); } -extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); +int +(fegetexceptflag)(fexcept_t *flagp, int excepts) +{ + return (__fegetexceptflag_int(flagp, excepts)); +} int fesetexceptflag(const fexcept_t *flagp, int excepts) @@ -82,9 +86,23 @@ feraiseexcept(int excepts) return (0); } -extern inline int fetestexcept(int __excepts); -extern inline int fegetround(void); -extern inline int fesetround(int __round); +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) @@ -115,7 +133,11 @@ feholdexcept(fenv_t *envp) return (0); } -extern inline int fesetenv(const fenv_t *__envp); +int +(fesetenv)(const fenv_t *envp) +{ + return (__fesetenv_int(envp)); +} int feupdateenv(const fenv_t *envp) diff --git a/lib/msun/i387/fenv.c b/lib/msun/i387/fenv.c index e0485a3597f6..d3cdc2e1cafb 100644 --- a/lib/msun/i387/fenv.c +++ b/lib/msun/i387/fenv.c @@ -94,7 +94,11 @@ int return (__feclearexcept_int(excepts)); } -extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); +int +(fegetexceptflag)(fexcept_t *flagp, int excepts) +{ + return (__fegetexceptflag_int(flagp, excepts)); +} int fesetexceptflag(const fexcept_t *flagp, int excepts) @@ -127,9 +131,23 @@ feraiseexcept(int excepts) return (0); } -extern inline int fetestexcept(int __excepts); -extern inline int fegetround(void); -extern inline int fesetround(int __round); +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) @@ -166,7 +184,11 @@ feholdexcept(fenv_t *envp) return (0); } -extern inline int fesetenv(const fenv_t *__envp); +int +(fesetenv)(const fenv_t *envp) +{ + return (__fesetenv_int(envp)); +} int feupdateenv(const fenv_t *envp) diff --git a/lib/msun/x86/fenv.h b/lib/msun/x86/fenv.h index b806222e5ef6..b5da37902083 100644 --- a/lib/msun/x86/fenv.h +++ b/lib/msun/x86/fenv.h @@ -108,7 +108,7 @@ int feraiseexcept(int __excepts); int feupdateenv(const fenv_t *__envp); __fenv_static inline int -fegetround(void) +__fegetround_int(void) { __uint16_t __control; @@ -144,7 +144,18 @@ fegetexcept(void) #endif /* __BSD_VISIBLE */ int feclearexcept(int); +int fegetexceptflag(fexcept_t *, int); +int fetestexcept(int); +int fesetround(int); +int fegetround(void); +int fesetenv(const fenv_t *); + #define feclearexcept(a) __feclearexcept_int(a) +#define fegetexceptflag(e, a) __fegetexceptflag_int(e, a) +#define fetestexcept(a) __fetestexcept_int(a) +#define fesetround(a) __fesetround_int(a) +#define fegetround() __fegetround_int() +#define fesetenv(a) __fesetenv_int(a) #ifdef __i386__ @@ -188,7 +199,7 @@ __feclearexcept_int(int __excepts) } __fenv_static inline int -fegetexceptflag(fexcept_t *__flagp, int __excepts) +__fegetexceptflag_int(fexcept_t *__flagp, int __excepts) { __uint32_t __mxcsr; __uint16_t __status; @@ -203,7 +214,7 @@ fegetexceptflag(fexcept_t *__flagp, int __excepts) } __fenv_static inline int -fetestexcept(int __excepts) +__fetestexcept_int(int __excepts) { __uint32_t __mxcsr; __uint16_t __status; @@ -217,7 +228,7 @@ fetestexcept(int __excepts) } __fenv_static inline int -fesetround(int __round) +__fesetround_int(int __round) { __uint32_t __mxcsr; __uint16_t __control; @@ -241,7 +252,7 @@ fesetround(int __round) } __fenv_static inline int -fesetenv(const fenv_t *__envp) +__fesetenv_int(const fenv_t *__envp) { fenv_t __env = *__envp; __uint32_t __mxcsr; @@ -283,7 +294,7 @@ __feclearexcept_int(int __excepts) } __fenv_static inline int -fegetexceptflag(fexcept_t *__flagp, int __excepts) +__fegetexceptflag_int(fexcept_t *__flagp, int __excepts) { __uint32_t __mxcsr; __uint16_t __status; @@ -295,7 +306,7 @@ fegetexceptflag(fexcept_t *__flagp, int __excepts) } __fenv_static inline int -fetestexcept(int __excepts) +__fetestexcept_int(int __excepts) { __uint32_t __mxcsr; __uint16_t __status; @@ -306,7 +317,7 @@ fetestexcept(int __excepts) } __fenv_static inline int -fesetround(int __round) +__fesetround_int(int __round) { __uint32_t __mxcsr; __uint16_t __control; @@ -328,7 +339,7 @@ fesetround(int __round) } __fenv_static inline int -fesetenv(const fenv_t *__envp) +__fesetenv_int(const fenv_t *__envp) { /*home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69caafba.41f04.6cb73a9a>
