Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
[gnulib.git] / m4 / vasprintf-posix.m4
index 279e0de..ab26ef5 100644 (file)
@@ -8,8 +8,9 @@ AC_DEFUN([gl_FUNC_VASPRINTF_POSIX],
 [
   AC_REQUIRE([gl_EOVERFLOW])
   AC_REQUIRE([gl_PRINTF_SIZES_C99])
-  AC_REQUIRE([gl_PRINTF_INFINITE])
   AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
+  AC_REQUIRE([gl_PRINTF_INFINITE])
+  AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
@@ -20,27 +21,31 @@ AC_DEFUN([gl_FUNC_VASPRINTF_POSIX],
   AC_CHECK_FUNCS([vasprintf])
   case "$gl_cv_func_printf_sizes_c99" in
     *yes)
-      case "$gl_cv_func_printf_infinite" in
+      case "$gl_cv_func_printf_long_double" in
         *yes)
-          case "$gl_cv_func_printf_long_double" in
+          case "$gl_cv_func_printf_infinite" in
             *yes)
-              case "$gl_cv_func_printf_directive_a" in
+              case "$gl_cv_func_printf_infinite_long_double" in
                 *yes)
-                  case "$gl_cv_func_printf_directive_f" in
+                  case "$gl_cv_func_printf_directive_a" in
                     *yes)
-                      case "$gl_cv_func_printf_directive_n" in
+                      case "$gl_cv_func_printf_directive_f" in
                         *yes)
-                          case "$gl_cv_func_printf_positions" in
+                          case "$gl_cv_func_printf_directive_n" in
                             *yes)
-                              case "$gl_cv_func_printf_flag_grouping" in
+                              case "$gl_cv_func_printf_positions" in
                                 *yes)
-                                  case "$gl_cv_func_printf_flag_zero" in
+                                  case "$gl_cv_func_printf_flag_grouping" in
                                     *yes)
-                                      if test $ac_cv_func_vasprintf = yes; then
-                                        # vasprintf exists and is already POSIX
-                                        # compliant.
-                                        gl_cv_func_vasprintf_posix=yes
-                                      fi
+                                      case "$gl_cv_func_printf_flag_zero" in
+                                        *yes)
+                                          if test $ac_cv_func_vasprintf = yes; then
+                                            # vasprintf exists and is already
+                                            # POSIX compliant.
+                                            gl_cv_func_vasprintf_posix=yes
+                                          fi
+                                          ;;
+                                      esac
                                       ;;
                                   esac
                                   ;;
@@ -60,8 +65,9 @@ AC_DEFUN([gl_FUNC_VASPRINTF_POSIX],
       ;;
   esac
   if test $gl_cv_func_vasprintf_posix = no; then
-    gl_PREREQ_VASNPRINTF_INFINITE
     gl_PREREQ_VASNPRINTF_LONG_DOUBLE
+    gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE
+    gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE
     gl_PREREQ_VASNPRINTF_DIRECTIVE_A
     gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_PREREQ_VASNPRINTF_FLAG_GROUPING