summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-22 22:57:28 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-22 22:57:28 +0000
commitf20079d219d7973ab43712adad6268901dc0eac3 (patch)
tree28b2ea7bb1067df8ee2049d77c609f2b66b6b349
parentdb7a548d02a9a47e8592d67980ffd1faeab3e20f (diff)
downloadglibc-f20079d219d7973ab43712adad6268901dc0eac3.tar.gz
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.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/ieee754/float128/float128_private.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d1de2109fd..80b1479183 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>.
diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h
index c8b153d0c1..5e6ed78085 100644
--- a/sysdeps/ieee754/float128/float128_private.h
+++ b/sysdeps/ieee754/float128/float128_private.h
@@ -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