Swap the tests 2 and 3.
authorBruno Haible <bruno@clisp.org>
Sat, 19 May 2007 20:40:55 +0000 (20:40 +0000)
committerBruno Haible <bruno@clisp.org>
Sat, 19 May 2007 20:40:55 +0000 (20:40 +0000)
m4/printf.m4

index 8a95f23..16e40cc 100644 (file)
@@ -81,16 +81,16 @@ changequote([,])dnl
     ])
 ])
 
-dnl Test whether the *printf family of functions supports infinite 'double'
-dnl arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_infinite.
+dnl Test whether the *printf family of functions supports 'long double'
+dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_long_double.
 
-AC_DEFUN([gl_PRINTF_INFINITE],
+AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports infinite 'double' arguments],
-    [gl_cv_func_printf_infinite],
+  AC_CACHE_CHECK([whether printf supports 'long double' arguments],
+    [gl_cv_func_printf_long_double],
     [
       AC_TRY_RUN([
 #include <stdio.h>
@@ -98,47 +98,42 @@ AC_DEFUN([gl_PRINTF_INFINITE],
 static char buf[100];
 int main ()
 {
-  if (sprintf (buf, "%f", 1.0 / 0.0) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    return 1;
-  if (sprintf (buf, "%f", -1.0 / 0.0) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    return 1;
-  if (sprintf (buf, "%e", 1.0 / 0.0) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    return 1;
-  if (sprintf (buf, "%e", -1.0 / 0.0) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+  buf[0] = '\0';
+  if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.750000 33") != 0)
     return 1;
-  if (sprintf (buf, "%g", 1.0 / 0.0) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+  buf[0] = '\0';
+  if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.750000e+00 33") != 0)
     return 1;
-  if (sprintf (buf, "%g", -1.0 / 0.0) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+  buf[0] = '\0';
+  if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.75 33") != 0)
     return 1;
   return 0;
-}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no],
+}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no],
       [
 changequote(,)dnl
        case "$host_os" in
-         mingw* | pw*) gl_cv_func_printf_infinite="guessing no";;
-         *)            gl_cv_func_printf_infinite="guessing yes";;
+         beos*)        gl_cv_func_printf_long_double="guessing no";;
+         mingw* | pw*) gl_cv_func_printf_long_double="guessing no";;
+         *)            gl_cv_func_printf_long_double="guessing yes";;
        esac
 changequote([,])dnl
       ])
     ])
 ])
 
-dnl Test whether the *printf family of functions supports 'long double'
-dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_long_double.
+dnl Test whether the *printf family of functions supports infinite 'double'
+dnl arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_infinite.
 
-AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
+AC_DEFUN([gl_PRINTF_INFINITE],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports 'long double' arguments],
-    [gl_cv_func_printf_long_double],
+  AC_CACHE_CHECK([whether printf supports infinite 'double' arguments],
+    [gl_cv_func_printf_infinite],
     [
       AC_TRY_RUN([
 #include <stdio.h>
@@ -146,26 +141,31 @@ AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
 static char buf[100];
 int main ()
 {
-  buf[0] = '\0';
-  if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.750000 33") != 0)
+  if (sprintf (buf, "%f", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     return 1;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.750000e+00 33") != 0)
+  if (sprintf (buf, "%f", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     return 1;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.75 33") != 0)
+  if (sprintf (buf, "%e", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%e", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%g", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%g", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     return 1;
   return 0;
-}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no],
+}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no],
       [
 changequote(,)dnl
        case "$host_os" in
-         beos*)        gl_cv_func_printf_long_double="guessing no";;
-         mingw* | pw*) gl_cv_func_printf_long_double="guessing no";;
-         *)            gl_cv_func_printf_long_double="guessing yes";;
+         mingw* | pw*) gl_cv_func_printf_infinite="guessing no";;
+         *)            gl_cv_func_printf_infinite="guessing yes";;
        esac
 changequote([,])dnl
       ])
@@ -753,8 +753,8 @@ changequote([,])dnl
 dnl The results of these tests on various platforms are:
 dnl
 dnl 1 = gl_PRINTF_SIZES_C99
-dnl 2 = gl_PRINTF_INFINITE
-dnl 3 = gl_PRINTF_LONG_DOUBLE
+dnl 2 = gl_PRINTF_LONG_DOUBLE
+dnl 3 = gl_PRINTF_INFINITE
 dnl 4 = gl_PRINTF_DIRECTIVE_A
 dnl 5 = gl_PRINTF_DIRECTIVE_F
 dnl 6 = gl_PRINTF_DIRECTIVE_N
@@ -768,8 +768,8 @@ dnl 13 = gl_SNPRINTF_DIRECTIVE_N
 dnl 14 = gl_VSNPRINTF_ZEROSIZE_C99
 dnl
 dnl 1 = checking whether printf supports size specifiers as in C99...
-dnl 2 = checking whether printf supports infinite 'double' arguments...
-dnl 3 = checking whether printf supports 'long double' arguments...
+dnl 2 = checking whether printf supports 'long double' arguments...
+dnl 3 = checking whether printf supports infinite 'double' arguments...
 dnl 4 = checking whether printf supports the 'a' and 'A' directives...
 dnl 5 = checking whether printf supports the 'F' directive...
 dnl 6 = checking whether printf supports the 'n' directive...
@@ -787,22 +787,22 @@ dnl
 dnl                                     1  2  3  4  5  6  7  8  9 10 11 12 13 14
 dnl   glibc 2.5                         .  .  .  .  .  .  .  .  .  .  .  .  .  .
 dnl   glibc 2.3.6                       .  .  .  #  .  .  .  .  .  .  .  .  .  .
-dnl   FreeBSD 5.4, 6.1                  .  .  ?  ?  .  .  .  .  #  .  .  .  .  .
+dnl   FreeBSD 5.4, 6.1                  .  ?  .  ?  .  .  .  .  #  .  .  .  .  .
 dnl   MacOS X 10.3.9                    .  .  .  #  .  .  .  .  #  .  .  .  .  .
 dnl   OpenBSD 3.9, 4.0                  .  ?  ?  #  ?  .  .  ?  ?  .  .  .  ?  ?
 dnl   Cygwin 2007 (= Cygwin 1.5.24)     .  ?  ?  #  #  .  .  .  #  .  .  .  .  .
 dnl   Cygwin 2006 (= Cygwin 1.5.19)     #  ?  ?  #  #  .  .  #  #  .  .  .  .  .
-dnl   Solaris 10                        .  ?  .  #  .  .  .  .  #  .  .  .  .  .
-dnl   Solaris 2.6 ... 9                 #  ?  .  #  #  .  .  .  #  .  .  .  .  .
-dnl   Solaris 2.5.1                     #  #  .  #  #  .  .  .  #  #  #  #  #  #
-dnl   AIX 5.2                           .  ?  .  #  .  .  .  .  #  .  .  .  .  .
-dnl   AIX 4.3.2, 5.1                    #  #  .  #  #  .  .  .  #  .  .  .  .  .
+dnl   Solaris 10                        .  .  ?  #  .  .  .  .  #  .  .  .  .  .
+dnl   Solaris 2.6 ... 9                 #  .  ?  #  #  .  .  .  #  .  .  .  .  .
+dnl   Solaris 2.5.1                     #  .  #  #  #  .  .  .  #  #  #  #  #  #
+dnl   AIX 5.2                           .  .  ?  #  .  .  .  .  #  .  .  .  .  .
+dnl   AIX 4.3.2, 5.1                    #  .  #  #  #  .  .  .  #  .  .  .  .  .
 dnl   HP-UX 11.31                       .  .  .  #  .  .  .  .  #  .  .  #  #  .
 dnl   HP-UX 10.20, 11.{00,11,23}        #  .  .  #  #  .  .  .  #  .  .  #  #  #
 dnl   IRIX 6.5                          #  .  .  #  #  .  .  .  #  .  .  #  .  .
-dnl   OSF/1 5.1                         #  ?  .  #  #  .  .  .  #  .  .  #  .  #
-dnl   OSF/1 4.0d                        #  #  .  #  #  .  .  .  #  #  #  #  #  #
+dnl   OSF/1 5.1                         #  .  ?  #  #  .  .  .  #  .  .  #  .  #
+dnl   OSF/1 4.0d                        #  .  #  #  #  .  .  .  #  #  #  #  #  #
 dnl   NetBSD 4.0                        .  ?  ?  ?  ?  .  .  ?  ?  .  .  .  ?  ?
 dnl   NetBSD 3.0                        .  ?  ?  #  #  .  #  #  #  .  .  .  .  .
-dnl   BeOS                              #  ?  #  #  #  .  #  .  .  .  .  .  .  .
+dnl   BeOS                              #  #  ?  #  #  .  #  .  .  .  .  .  .  .
 dnl   mingw                             #  #  #  #  #  .  #  #  #  .  #  #  #  .