This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.14-383-gc8553a6


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]