Add feholdexcept inline in generic math_private.h.

Continuing the process of improving and cleaning up the handling of
configurations lacking support for floating-point exceptions and
rounding modes, this patch adds trivial inline definitions of
feholdexcept and __feholdexcept to the set of inlines for such
configurations in math_private.h.  These inlines were missing from the
tile version used as a basis for the previous inlines, despite a few
such function calls ending up in libm.so.

Tested with build-many-glibcs.py.  As expected, installed stripped
shared libraries are unchanged for architectures supporting exceptions
and rounding modes, but changed for architectures lacking such
support.

	* sysdeps/generic/math_private.h
	[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept):
	New inline function.
	[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept):
	Likewise.
This commit is contained in:
Joseph Myers 2018-02-01 20:56:08 +00:00
parent b1c347e2cd
commit ae1fcb7b92
2 changed files with 18 additions and 0 deletions

View File

@ -1,5 +1,11 @@
2018-02-01 Joseph Myers <joseph@codesourcery.com>
* sysdeps/generic/math_private.h
[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept):
New inline function.
[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (__feholdexcept):
Likewise.
* include/fenv.h [!_ISOMAC && !FE_TONEAREST]: Give #error.
[!_ISOMAC] (FE_HAVE_ROUNDING_MODES): New macro.
* sysdeps/generic/math_private.h

View File

@ -672,6 +672,18 @@ __fegetenv (fenv_t *__e)
return 0;
}
extern inline int
feholdexcept (fenv_t *__e)
{
return 0;
}
extern inline int
__feholdexcept (fenv_t *__e)
{
return 0;
}
extern inline int
fesetenv (const fenv_t *__e)
{