Fix float128_private.h redefinition of SET_RESTORE_ROUNDL.

As with other long double identifiers, float128_private.h has a
redefinition of SET_RESTORE_ROUNDL.  However, that redefinition is
broken, since this is a macro with one argument being defined to take
no arguments.  This patch fixes the redefinition.  (x86_64 needs the
redefinition because SET_RESTORE_ROUNDL only changes the x87 rounding
mode, whereas _Float128 arithmetic uses the SSE rounding mode instead
on x86_64.)

Tested for x86_64 (in conjunction with float128 patches).

	* sysdeps/ieee754/float128/float128_private.h
	[SET_RESTORE_ROUNDF128] (SET_RESTORE_ROUNDL): Take an argument and
	pass it to SET_RESTORE_ROUNDF128.
This commit is contained in:
Joseph Myers 2017-06-22 22:57:28 +00:00
parent db7a548d02
commit f20079d219
2 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,9 @@
2017-06-22 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ieee754/float128/float128_private.h
[SET_RESTORE_ROUNDF128] (SET_RESTORE_ROUNDL): Take an argument and
pass it to SET_RESTORE_ROUNDF128.
* sysdeps/ieee754/float128/float128_private.h: Include
<ieee754.h>.

View File

@ -51,7 +51,7 @@
#ifdef SET_RESTORE_ROUNDF128
# undef SET_RESTORE_ROUNDL
# define SET_RESTORE_ROUNDL() SET_RESTORE_ROUNDF128()
# define SET_RESTORE_ROUNDL(RM) SET_RESTORE_ROUNDF128 (RM)
#endif