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

[commits] r11149 - in /libdfp/trunk: ChangeLog Versions.def dfp/math.h ieee754r/Versions



Author: ryanarn
Date: Wed Aug  4 11:39:46 2010
New Revision: 11149

Log:
Followed a bit of maintainer discipline and properly versioned some symbols in
the linker script based on the libdfp version when they were added.

2010-08-04  Ryan S. Arnold  <rsa@xxxxxxxxx>

	* ieee754r/Versions: Moved some of the __is* functions under LIBDFP_1.0.2
	and LIBDFP_1.0.3.  Removed unnecessary __is* functions from export
	that don't have polymorphic versions in math.h
	* dfp/math.h: Removed accidental undef of isunordered.  This was
	never implemented as a polymorphic function because it doesn't need to
	be (per the spec).  Removed redundant polymoprhic isnan().
	* Versions.def: Added Versions LIBDFP_1.0.2 and LIBDFP_1.0.3 for Libdfp.


Modified:
    libdfp/trunk/ChangeLog
    libdfp/trunk/Versions.def
    libdfp/trunk/dfp/math.h
    libdfp/trunk/ieee754r/Versions

Modified: libdfp/trunk/ChangeLog
==============================================================================
--- libdfp/trunk/ChangeLog (original)
+++ libdfp/trunk/ChangeLog Wed Aug  4 11:39:46 2010
@@ -1,3 +1,13 @@
+2010-08-04  Ryan S. Arnold  <rsa@xxxxxxxxx>
+
+	* ieee754r/Versions: Moved some of the __is* functions under LIBDFP_1.0.2
+	and LIBDFP_1.0.3.  Removed unnecessary __is* functions from export
+	that don't have polymorphic versions in math.h
+	* dfp/math.h: Removed accidental undef of isunordered.  This was
+	never implemented as a polymorphic function because it doesn't need to
+	be (per the spec).  Removed redundant polymoprhic isnan().
+	* Versions.def: Added Versions LIBDFP_1.0.2 and LIBDFP_1.0.3 for Libdfp.
+
 2010-08-04  Ryan S. Arnold  <rsa@xxxxxxxxxx>
 
 	* configure: Regenerated.
@@ -54,14 +64,12 @@
 	* tests/test-isfinite.c: Added Conditional expectations for s390 for
 	isfinite return values from negative number inputs.
 
-
 2010-07-23  Ryan S. Arnold  <rsa@xxxxxxxxxx>
 
 	* tests/test-logd.c: Removed unnecessary comments.
 	* tests/test-fpclassify.c: Removed unnecessary comments.
 	* configure.ac: Removed unnecessary comments.
 	* printf_dfp.c: Removed unnecessary comments.
-
 
 2010-07-23  Ryan S. Arnold  <rsa@xxxxxxxxxx>
 

Modified: libdfp/trunk/Versions.def
==============================================================================
--- libdfp/trunk/Versions.def (original)
+++ libdfp/trunk/Versions.def Wed Aug  4 11:39:46 2010
@@ -1,4 +1,6 @@
 libdfp {
   LIBDFP_1.0.0
+  LIBDFP_1.0.2
+  LIBDFP_1.0.3
   LIBDFP_PRIVATE
 }

Modified: libdfp/trunk/dfp/math.h
==============================================================================
--- libdfp/trunk/dfp/math.h (original)
+++ libdfp/trunk/dfp/math.h Wed Aug  4 11:39:46 2010
@@ -894,6 +894,45 @@
 /* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN.  */
 #define isnormal(x) (fpclassify (x) == FP_NORMAL)
 
+#ifdef isinf
+# undef isinf
+#endif
+
+/* Return nonzero value is X is positive or negative infinity.  */
+# ifdef __NO_LONG_DOUBLE_MATH
+#  define _____isinf(x) \
+     (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
+# else
+#  define ____isinf(x) \
+     (sizeof (x) == sizeof (float)					      \
+      ? __isinff (x)							      \
+      : sizeof (x) == sizeof (double)					      \
+      ? __isinf (x) : __isinfl (x))
+# endif
+
+#define isinf(x) \
+  (									      \
+    (!__dfp_compatible(x)? (____isinf(x)) :				      \
+      (sizeof (x) == sizeof (_Decimal128)? __isinfd128(x):		      \
+	(sizeof (x) == sizeof (_Decimal64)? __isinfd64(x):		      \
+	  __isinfd32(x)							      \
+	)								      \
+      )									      \
+    )									      \
+  )
+
+#ifdef fabs
+# undef fabs
+#endif
+#define fabs(x) \
+  (									      \
+    (sizeof (x) == sizeof (_Decimal128)? __fabsd128(x):			      \
+       (sizeof (x) == sizeof (_Decimal64)? __fabsd64(x):		      \
+	  __fabsd32(x)							      \
+       )								      \
+    )									      \
+  )
+
 #ifdef isnan
 # undef isnan
 #endif
@@ -922,74 +961,6 @@
 	: __isnand32(x)))						      \
   )
 
-#ifdef isinf
-# undef isinf
-#endif
-
-/* Return nonzero value is X is positive or negative infinity.  */
-# ifdef __NO_LONG_DOUBLE_MATH
-#  define _____isinf(x) \
-     (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
-# else
-#  define ____isinf(x) \
-     (sizeof (x) == sizeof (float)					      \
-      ? __isinff (x)							      \
-      : sizeof (x) == sizeof (double)					      \
-      ? __isinf (x) : __isinfl (x))
-# endif
-
-#define isinf(x) \
-  (									      \
-    (!__dfp_compatible(x)? (____isinf(x)) :				      \
-      (sizeof (x) == sizeof (_Decimal128)? __isinfd128(x):		      \
-	(sizeof (x) == sizeof (_Decimal64)? __isinfd64(x):		      \
-	  __isinfd32(x)							      \
-	)								      \
-      )									      \
-    )									      \
-  )
-
-#ifdef fabs /* This is actually new in ISO/IEC TR 24732.  */
-# undef fabs
-#endif
-#define fabs(x) \
-  (									      \
-    (sizeof (x) == sizeof (_Decimal128)? __fabsd128(x):			      \
-       (sizeof (x) == sizeof (_Decimal64)? __fabsd64(x):		      \
-	  __fabsd32(x)							      \
-       )								      \
-    )									      \
-  )
-
-/* Comparison Macros  */
-#ifdef isunordered
-# undef isunordered
-#endif
-
-/* Return nonzero value if X is a NaN.  We could use `fpclassify' but
-   we already have this functions `__isnan' and it is faster.  */
-# ifdef __NO_LONG_DOUBLE_MATH
-#  define ____isnan(x) \
-     (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
-# else
-#  define ____isnan(x) \
-     (sizeof (x) == sizeof (float)		      \
-      ? __isnanf (x)				      \
-      : sizeof (x) == sizeof (double)		      \
-      ? __isnan (x) : __isnanl (x))
-# endif
-
-
-#define isnan(x) \
-  (!__dfp_compatible(x)						      \
-    ? (____isnan(x))							      \
-    : (sizeof (x) == sizeof (_Decimal128)				      \
-      ? __isnand128(x)							      \
-      : (sizeof (x) == sizeof (_Decimal64)				      \
-	? __isnand64(x)							      \
-	: __isnand32(x)))						      \
-  )
-
 
 __END_DECLS
 

Modified: libdfp/trunk/ieee754r/Versions
==============================================================================
--- libdfp/trunk/ieee754r/Versions (original)
+++ libdfp/trunk/ieee754r/Versions Wed Aug  4 11:39:46 2010
@@ -60,21 +60,9 @@
     fdimd32;
     fdimd64;
     fdimd128;
-    isfinited32;
-    isfinited64;
-    isfinited128;
-    __isfinited32;
-    __isfinited64;
-    __isfinited128;
-    # finited* and friends is deprecated but we published math.h with
-    # polymorphic isfinite() pointing to them so keep them around.  They just
-    # aliases.
     finited32;
     finited64;
     finited128;
-    __finited32;
-    __finited64;
-    __finited128;
     floord32;
     floord64;
     floord128;
@@ -114,9 +102,6 @@
     isinfd32;
     isinfd64;
     isinfd128;
-    __isinfd32;
-    __isinfd64;
-    __isinfd128;
     islessd32;
     islessd64;
     islessd128;
@@ -129,21 +114,12 @@
     isnand32;
     isnand64;
     isnand128;
-    __isnand32;
-    __isnand64;
-    __isnand128;
     isnormald32;
     isnormald64;
     isnormald128;
-    __isnormald32;
-    __isnormald64;
-    __isnormald128;
     isunorderedd32;
     isunorderedd64;
     isunorderedd128;
-    __isunorderedd32;
-    __isunorderedd64;
-    __isunorderedd128;
     ldexpd32;
     ldexpd64;
     ldexpd128;
@@ -219,9 +195,6 @@
     signbitd32;
     signbitd64;
     signbitd128;
-    __signbitd32;
-    __signbitd64;
-    __signbitd128;
     sind32;
     sind64;
     sind128;
@@ -244,4 +217,30 @@
     truncd64;
     truncd128;
   }
+  LIBDFP_1.0.2 {
+    __isnand32;
+    __isnand64;
+    __isnand128;
+    __isinfd32;
+    __isinfd64;
+    __isinfd128;
+  }
+  LIBDFP_1.0.3 {
+    # finited* and friends is deprecated but at some point we published math.h
+    # with polymorphic isfinite() pointing to them so keep them around.  They
+    # are just aliases.
+    __finited32;
+    __finited64;
+    __finited128;
+    isfinited32;
+    isfinited64;
+    isfinited128;
+    __isfinited32;
+    __isfinited64;
+    __isfinited128;
+    # Polymorphic signbit support.
+    __signbitd32;
+    __signbitd64;
+    __signbitd128;
+  }
 }