Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/mips/include If GCC 4.1 or newer (or clang), use __...



details:   https://anonhg.NetBSD.org/src/rev/af30f7776dce
branches:  trunk
changeset: 767061:af30f7776dce
user:      matt <matt%NetBSD.org@localhost>
date:      Thu Jul 07 17:29:31 2011 +0000

description:
If GCC 4.1 or newer (or clang), use __LDBL__*__ builtins otherwise if C99
use hex floating point.

diffstat:

 sys/arch/mips/include/float.h |  34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 deletions(-)

diffs (61 lines):

diff -r 68c44557e870 -r af30f7776dce sys/arch/mips/include/float.h
--- a/sys/arch/mips/include/float.h     Thu Jul 07 17:27:46 2011 +0000
+++ b/sys/arch/mips/include/float.h     Thu Jul 07 17:29:31 2011 +0000
@@ -1,19 +1,41 @@
-/*     $NetBSD: float.h,v 1.14 2011/01/17 23:53:03 matt Exp $ */
+/*     $NetBSD: float.h,v 1.15 2011/07/07 17:29:31 matt Exp $ */
 
 #ifndef _MIPS_FLOAT_H_
 #define _MIPS_FLOAT_H_
 
 #if defined(__mips_n32) || defined(__mips_n64)
 
+#if __GNUC_PREREQ__(4,1)
+
+#define LDBL_MANT_DIG  __LDBL_MANT_DIG__
+#define        LDBL_DIG        __LDBL_DIG__
+#define        LDBL_MIN_EXP    __LDBL_MIN_EXP__
+#define        LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
+#define        LDBL_MAX_EXP    __LDBL_MAX_EXP__
+#define        LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
+#define        LDBL_EPSILON    __LDBL_EPSILON__
+#define        LDBL_MIN        __LDBL_MIN__
+#define        LDBL_MAX        __LDBL_MAX__
+
+#else
+
 #define LDBL_MANT_DIG  113
-#define        LDBL_EPSILON    1.925929944387235853055977942584927319E-34L
 #define        LDBL_DIG        33
 #define        LDBL_MIN_EXP    (-16381)
-#define        LDBL_MIN        3.3621031431120935062626778173217526026E-4932L
 #define        LDBL_MIN_10_EXP (-4931)
 #define        LDBL_MAX_EXP    16384
-#define        LDBL_MAX        1.1897314953572317650857593266280070162E4932L
 #define        LDBL_MAX_10_EXP 4932
+#if __STDC_VERSION__ >= 199901L
+#define        LDBL_EPSILON    0x1p-112L
+#define        LDBL_MIN        0x1p-16382L
+#define        LDBL_MAX        0x1.ffffffffffffffffffffffffffffp+16383L,
+#else
+#define        LDBL_EPSILON    1.9259299443872358530559779425849273E-34L
+#define        LDBL_MIN        3.3621031431120935062626778173217526E-4932L
+#define        LDBL_MAX        1.1897314953572317650857593266280070E+4932L
+#endif
+
+#endif /* !__GNUC_PREREQ__(4,1) */
 
 #endif /* __mips_n32 || __mips_n64 */
 
@@ -27,7 +49,11 @@
     ((_POSIX_C_SOURCE - 0) >= 200112L) || \
     ((_XOPEN_SOURCE  - 0) >= 600) || \
     defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
+#if __GNUC_PREREQ__(4,1)
+#define        DECIMAL_DIG     __DECIMAL_DIG__
+#else
 #define        DECIMAL_DIG     36
+#endif
 #endif /* !defined(_ANSI_SOURCE) && ... */
 
 #endif /* __mips_n32 || __mips_n64 */



Home | Main Index | Thread Index | Old Index