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.
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>.
#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