about summary refs log tree commit diff
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
glibc-f20079d219d7973ab43712adad6268901dc0eac3.tar.xz
glibc-f20079d219d7973ab43712adad6268901dc0eac3.zip
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