aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2011-10-26 11:19:35 +0200
committerAndreas Schwab <schwab@redhat.com>2011-10-26 11:44:08 +0200
commitf6ce9294b0a6c5a847109cc41b7ad0c838b9ccfe (patch)
treef24410a96b08b79eae0ecac2ecc788891b4c6d1a /sysdeps
parente0016b11d6186a7003d7204cb100acab9bbcd940 (diff)
downloadglibc-f6ce9294b0a6c5a847109cc41b7ad0c838b9ccfe.tar
glibc-f6ce9294b0a6c5a847109cc41b7ad0c838b9ccfe.tar.gz
glibc-f6ce9294b0a6c5a847109cc41b7ad0c838b9ccfe.tar.bz2
glibc-f6ce9294b0a6c5a847109cc41b7ad0c838b9ccfe.zip
Make math_force_eval accept non-addressable arguments
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/fpu/math_private.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/i386/fpu/math_private.h b/sysdeps/i386/fpu/math_private.h
index a426788ef1..8a51851377 100644
--- a/sysdeps/i386/fpu/math_private.h
+++ b/sysdeps/i386/fpu/math_private.h
@@ -1,16 +1,17 @@
#ifndef _MATH_PRIVATE_H
#define math_opt_barrier(x) \
-({ __typeof(x) __x; \
+({ __typeof (x) __x; \
__asm ("" : "=t" (__x) : "0" (x)); \
__x; })
#define math_force_eval(x) \
do \
{ \
+ __typeof (x) __x = (x); \
if (sizeof (x) <= sizeof (double)) \
- __asm __volatile ("" : : "m" (x)); \
+ __asm __volatile ("" : : "m" (__x)); \
else \
- __asm __volatile ("" : : "f" (x)); \
+ __asm __volatile ("" : : "f" (__x)); \
} \
while (0)