Remove some math_private.h libc_fe* overrides.

math_private.h headers for configurations lacking support for
floating-point exceptions and rounding modes define various libc_fe*
macros to override the default versions with ones that discard any
exception or rounding mode arguments.

Three of the four macros defined in these headers are no longer needed
there: those macros are only used in fma implementations that are not
used for such configurations, now all those configurations properly
use soft-fp fma implementations instead.  (Effectively, those macros
were a workaround to allow glibc to build in the absence of a proper
fma implementation for this case - now there is such an
implementation, there is no need to support building the wrong
implementation for those configurations.)  Thus, this patch removes
the unnecessary macros.

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by the patch.

	* sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround):
	Remove macro.
	(libc_fetestexcept): Likewise.
	(libc_feupdateenv_test): Likewise.
	* sysdeps/microblaze/math_private.h (libc_fesetround): Likewise.
	(libc_fetestexcept): Likewise.
	(libc_feupdateenv_test): Likewise.
	* sysdeps/nios2/math_private.h (libc_fesetround): Likewise.
	(libc_fetestexcept): Likewise.
	(libc_feupdateenv_test): Likewise.
	* sysdeps/tile/math_private.h (libc_fesetround): Likewise.
	(libc_fetestexcept): Likewise.
	(libc_feupdateenv_test): Likewise.
This commit is contained in:
Joseph Myers 2018-02-01 20:57:22 +00:00
parent ae1fcb7b92
commit 8a6bb1d086
5 changed files with 14 additions and 12 deletions

View File

@ -1,5 +1,19 @@
2018-02-01 Joseph Myers <joseph@codesourcery.com>
* sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround):
Remove macro.
(libc_fetestexcept): Likewise.
(libc_feupdateenv_test): Likewise.
* sysdeps/microblaze/math_private.h (libc_fesetround): Likewise.
(libc_fetestexcept): Likewise.
(libc_feupdateenv_test): Likewise.
* sysdeps/nios2/math_private.h (libc_fesetround): Likewise.
(libc_fetestexcept): Likewise.
(libc_feupdateenv_test): Likewise.
* sysdeps/tile/math_private.h (libc_fesetround): Likewise.
(libc_fetestexcept): Likewise.
(libc_feupdateenv_test): Likewise.
* sysdeps/generic/math_private.h
[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept):
New inline function.

View File

@ -32,10 +32,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
#define libc_fesetround(rnd) ({ 0; })
#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */

View File

@ -19,10 +19,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
#define libc_fesetround(rnd) ({ 0; })
#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */

View File

@ -18,10 +18,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
#define libc_fesetround(rnd) ({ 0; })
#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */

View File

@ -17,10 +17,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
#define libc_fesetround(rnd) ({ 0; })
#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
#include_next <math_private.h>