[PATCH 1/1] fenv support arm

Szabolcs Nagy szabolcs.nagy@arm.com
Thu Jul 2 12:11:32 GMT 2020


The 06/03/2020 23:15, Eshan dhawan via Newlib wrote:
> --- /dev/null
> +++ b/newlib/libc/machine/arm/sys/fenv.h
...
> +#ifndef __ARM_PCS_VFP
> +
> +int feclearexcept(int excepts);
> +int fegetexceptflag(fexcept_t *flagp, int excepts);
> +int fesetexceptflag(const fexcept_t *flagp, int excepts);
> +int feraiseexcept(int excepts);
> +int fetestexcept(int excepts);
> +int fegetround(void);
> +int fesetround(int round);
> +int fegetenv(fenv_t *envp);
> +int feholdexcept(fenv_t *envp);
> +int fesetenv(const fenv_t *envp);
> +int feupdateenv(const fenv_t *envp);
> +#if __BSD_VISIBLE
> +int feenableexcept(int __mask);
> +int fedisableexcept(int __mask);
> +int fegetexcept(void);
> +#endif /* __BSD_VISIBLE */
> +
> +#endif	/* __ARM_PCS_VFP */

why are these declarations conditional?

i get build failures e.g. in libgfortran
because configure detects the availability
of feenableexcept in libm.a so it starts
using it but then fenv.h does not have the
declaration so compilation fails.

it seems there is vfp code for all this
so why are the declarations removed?



More information about the Newlib mailing list