GNU C Library master sources branch, master, updated. glibc-2.14-383-gc8553a6
drepper@sourceware.org
drepper@sourceware.org
Mon Oct 17 20:01:00 GMT 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via c8553a6a6f6fdb20950e5e6b62bfa7e21350449c (commit)
from ed22dcf691326d148222eb9a215d6d98bb8073a4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c8553a6a6f6fdb20950e5e6b62bfa7e21350449c
commit c8553a6a6f6fdb20950e5e6b62bfa7e21350449c
Author: Ulrich Drepper <drepper@gmail.com>
Date: Mon Oct 17 16:00:39 2011 -0400
Makr x86-64 math_private.h more robust
diff --git a/ChangeLog b/ChangeLog
index af72e63..e66482f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-10-17 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/x86_64/fpu/math_private.h: Add some parenthesis to be safe
+ about macro parameter expansion.
+
* sysdeps/x86_64/fpu/bits/mathinline.h: Don't define inlines if
__NO_MATH_INLINES is defined. Cleanups.
diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h
index 71eb416..a66616b 100644
--- a/sysdeps/x86_64/fpu/math_private.h
+++ b/sysdeps/x86_64/fpu/math_private.h
@@ -58,21 +58,21 @@ do { \
#endif
#define __isnan(d) \
- ({ long int __di; EXTRACT_WORDS64 (__di, (double) d); \
+ ({ long int __di; EXTRACT_WORDS64 (__di, (double) (d)); \
(__di & 0x7fffffffffffffffl) > 0x7ff0000000000000l; })
#define __isnanf(d) \
({ int __di; GET_FLOAT_WORD (__di, (float) d); \
(__di & 0x7fffffff) > 0x7f800000; })
#define __isinf_ns(d) \
- ({ long int __di; EXTRACT_WORDS64 (__di, (double) d); \
+ ({ long int __di; EXTRACT_WORDS64 (__di, (double) (d)); \
(__di & 0x7fffffffffffffffl) == 0x7ff0000000000000l; })
#define __isinf_nsf(d) \
({ int __di; GET_FLOAT_WORD (__di, (float) d); \
(__di & 0x7fffffff) == 0x7f800000; })
#define __finite(d) \
- ({ long int __di; EXTRACT_WORDS64 (__di, (double) d); \
+ ({ long int __di; EXTRACT_WORDS64 (__di, (double) (d)); \
(__di & 0x7fffffffffffffffl) < 0x7ff0000000000000l; })
#define __finitef(d) \
({ int __di; GET_FLOAT_WORD (__di, (float) d); \
@@ -80,41 +80,41 @@ do { \
#define __ieee754_sqrt(d) \
({ double __res; \
- asm ("sqrtsd %1, %0" : "=x" (__res) : "xm" ((double) d)); \
+ asm ("sqrtsd %1, %0" : "=x" (__res) : "xm" ((double) (d))); \
__res; })
#define __ieee754_sqrtf(d) \
({ float __res; \
- asm ("sqrtss %1, %0" : "=x" (__res) : "xm" ((float) d)); \
+ asm ("sqrtss %1, %0" : "=x" (__res) : "xm" ((float) (d))); \
__res; })
#define __ieee754_sqrtl(d) \
({ long double __res; \
- asm ("fsqrt" : "=t" (__res) : "0" ((long double) d)); \
+ asm ("fsqrt" : "=t" (__res) : "0" ((long double) (d))); \
__res; })
#ifdef __SSE4_1__
# ifndef __rint
# define __rint(d) \
({ double __res; \
- asm ("roundsd $4, %1, %0" : "=x" (__res) : "x" ((double) d)); \
+ asm ("roundsd $4, %1, %0" : "=x" (__res) : "x" ((double) (d))); \
__res; })
# endif
# ifndef __rintf
# define __rintf(d) \
({ float __res; \
- asm ("roundss $4, %1, %0" : "=x" (__res) : "x" ((float) d)); \
+ asm ("roundss $4, %1, %0" : "=x" (__res) : "x" ((float) (d))); \
__res; })
# endif
# ifndef __floor
# define __floor(d) \
({ double __res; \
- asm ("roundsd $1, %1, %0" : "=x" (__res) : "x" ((double) d)); \
+ asm ("roundsd $1, %1, %0" : "=x" (__res) : "x" ((double) (d))); \
__res; })
# endif
# ifndef __floorf
# define __floorf(d) \
({ float __res; \
- asm ("roundss $1, %1, %0" : "=x" (__res) : "x" ((float) d)); \
+ asm ("roundss $1, %1, %0" : "=x" (__res) : "x" ((float) (d))); \
__res; })
# endif
#endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 3 +++
sysdeps/x86_64/fpu/math_private.h | 20 ++++++++++----------
2 files changed, 13 insertions(+), 10 deletions(-)
hooks/post-receive
--
GNU C Library master sources
More information about the Glibc-cvs
mailing list