changeset 8549:a1851d3b4da6

Avoid the completely broken frexpl() function of AIX 5.1.
author Bruno Haible <bruno@clisp.org>
date Sun, 25 Mar 2007 22:21:06 +0000
parents 7794b324d462
children 0787c53b84f0
files ChangeLog m4/frexpl.m4
diffstat 2 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-25  Bruno Haible  <bruno@clisp.org>
+
+	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
+
 2007-03-25  Bruno Haible  <bruno@clisp.org>
 
 	Avoid test failures on IRIX 6.5.
--- a/m4/frexpl.m4
+++ b/m4/frexpl.m4
@@ -58,8 +58,8 @@
   fi
 ])
 
-dnl Test whether frexpl() works also on infinite numbers (this fails e.g. on
-dnl IRIX 6.5).
+dnl Test whether frexpl() works on finite numbers (this fails on AIX 5.1) and
+dnl also on infinite numbers (this fails e.g. on IRIX 6.5).
 AC_DEFUN([gl_FUNC_FREXPL_WORKS],
 [
   AC_REQUIRE([AC_PROG_CC])
@@ -71,6 +71,14 @@
 int main()
 {
   volatile long double x;
+  /* Test on finite numbers.  */
+  {
+    int exp = -9999;
+    x = 16.0L;
+    frexpl (x, &exp);
+    if (exp != 5)
+      return 1;
+  }
   /* Test on infinite numbers.  */
   {
     x = 1.0L / 0.0L;
@@ -82,8 +90,8 @@
   return 0;
 }], [gl_cv_func_frexpl_works=yes], [gl_cv_func_frexpl_works=no],
       [case "$host_os" in
-         irix*) gl_cv_func_frexpl_works="guessing no";;
-         *)     gl_cv_func_frexpl_works="guessing yes";;
+         aix* | irix*) gl_cv_func_frexpl_works="guessing no";;
+         *)            gl_cv_func_frexpl_works="guessing yes";;
        esac
       ])
     ])