[PATCH] newlib: change static to __fenv_static for fe{enable,disable,get}except
Richard Earnshaw (lists)
Richard.Earnshaw@arm.com
Thu Jul 3 15:20:58 GMT 2025
On 03/07/2025 15:48, Radek Barton wrote:
> Hello.
>
> Thank you for your suggestion.
>
> BTW, what is the current semantics and use case for the __fenv_static macro?
>
> Radek
Outside of building newlib I think it's always expected to expand to 'static', so that users get a 'static inline' function (never creates a globally visible symbol, even if not inlined). When building newlib (specifically libm/machine/*/fenv.c) it's defined to be empty so the functions are marked simply 'inline'; the lines in that file like
extern inline int feclearexcept(int __excepts);
then cause a real function to be generated for export from the library.
The functions your working on remain static so never get a real instance within the library, so on ELF based platforms they simply do not exist unless _BSD_SOURCE has been defined.
R.
More information about the Newlib
mailing list