about summary refs log tree commit diff
path: root/sysdeps/i386/fpu/bits/mathinline.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/fpu/bits/mathinline.h')
-rw-r--r--sysdeps/i386/fpu/bits/mathinline.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/i386/fpu/bits/mathinline.h b/sysdeps/i386/fpu/bits/mathinline.h
index ee00f5881a..836e5a3050 100644
--- a/sysdeps/i386/fpu/bits/mathinline.h
+++ b/sysdeps/i386/fpu/bits/mathinline.h
@@ -581,7 +581,9 @@ __MATH_INLINE int __finite (double __x) __attribute__ ((__const__));
 __MATH_INLINE int
 __finite (double __x)
 {
-  return ((((int *) &__x)[1] | 0x800fffff) + 1) >> 31;
+  return (__extension__
+	  (((((union { double __d; int __i[2]; }) {__d: __x}).i[1]
+	     | 0x800fffff) + 1) >> 31));
 }
 
 /* Miscellaneous functions */