summary refs log tree commit diff
path: root/sysdeps/sparc/fpu/bits/mathinline.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-12-29 17:52:49 +0000
committerUlrich Drepper <drepper@redhat.com>1999-12-29 17:52:49 +0000
commitdbbbaf53352501384c57512e2251c9d7169388af (patch)
treeee82c0b6703dcaa060e93c02e3bf108c2176e78f /sysdeps/sparc/fpu/bits/mathinline.h
parent15a2315cb457be0599d7a662e64aa54e560f96f0 (diff)
downloadglibc-dbbbaf53352501384c57512e2251c9d7169388af.tar.gz
glibc-dbbbaf53352501384c57512e2251c9d7169388af.tar.xz
glibc-dbbbaf53352501384c57512e2251c9d7169388af.zip
Update.
1999-12-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include
	<asm/io.h>; remove K&R compatibility; add missing ints.

	* sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility,
	add missing ints.

	* sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>.

1999-12-29  Andreas Jaeger  <aj@suse.de>

	* manual/getopt.texi (Using Getopt): Document ordering of options.

1999-12-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek.
	Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.

1999-12-14  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux
	2.3.32.

1999-12-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/sprof.c (load_shobj): Fix error message.
	(generate_call_graph): Cast %*s length argument to int.
	* locale/programs/localedef.c (construct_output_path): Likewise.
	* locale/programs/ld-ctype.c (ctype_finish): Use proper format
	specifier.
	(ctype_class_new): Likewise.
	* locale/programs/ld-time.c (time_finish): Likewise.
	* sunrpc/svc_simple.c (register_rpc): Likewise.
	* nscd/connections.c (nscd_run, start_threads): Use long instead of
	int to avoid cast warnings.
	* sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill
	warning.
	* sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused
	variable se.

	* time/strftime.c (my_strftime): Provide wide era string when
	requested.

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl):
	Separate into 32bit and 64bit versions.
Diffstat (limited to 'sysdeps/sparc/fpu/bits/mathinline.h')
-rw-r--r--sysdeps/sparc/fpu/bits/mathinline.h31
1 files changed, 21 insertions, 10 deletions
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h
index 69591fec2a..2c4b2823de 100644
--- a/sysdeps/sparc/fpu/bits/mathinline.h
+++ b/sysdeps/sparc/fpu/bits/mathinline.h
@@ -110,6 +110,8 @@ __signbitf (float __x)
   return __u.__i < 0;
 }
 
+#if __WORDSIZE == 32
+
 __MATH_INLINE int
 __signbit (double __x)
 {
@@ -120,18 +122,27 @@ __signbit (double __x)
 __MATH_INLINE int
 __signbitl (long double __x)
 {
-  if (sizeof(long double) == 8)
-    {
-      __extension__ union { long double __l; int __i[2]; } __u = { __l: __x };
-      return __u.__i[0] < 0;
-    }
-  else
-    {
-      __extension__ union { long double __l; int __i[4]; } __u = { __l: __x };
-      return __u.__i[0] < 0;
-    }
+  return __signbit ((double)__x);
+}
+
+#else /* sparc64 */
+
+__MATH_INLINE int
+__signbit (double __x)
+{
+  __extension__ union { double __d; long __i; } __u = { __d: __x };
+  return __u.__i < 0;
+}
+
+__MATH_INLINE int
+__signbitl (long double __x)
+{
+  __extension__ union { long double __l; long __i[2]; } __u = { __l: __x };
+  return __u.__i[0] < 0;
 }
 
+#endif /* sparc64 */
+
 __MATH_INLINE double
 sqrt(double __x)
 {