bug-gnulib
[Top][All Lists]
Advanced

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

*printf: support for msvc


From: Bruno Haible
Subject: *printf: support for msvc
Date: Sat, 10 Sep 2011 21:23:56 +0200
User-agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; )

This patch adds support for the MSVC 9 platform to the *printf modules.

Three things are special about this platform:

  - It has more *printf bugs than any other platform.

  - The test whether %n is supported crashes because of a "parameter 
validation".
    The crash pops up 6 dialog boxes and prevents 'configure' from continuing.
    The fix is _not_ GL_NOCRASH but to install another kind of handler.

  - This platform has vsnprintf() but no snprintf() function.


2011-09-10  Bruno Haible  <address@hidden>

        *printf: Add support for MSVC compiler.
        * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
        handles the exception caused by the %n directive. When cross-compiling,
        guess no on native Windows.
        (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
        gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
        emulate it through vsnprintf.
        * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
        * doc/posix-functions/dprintf.texi: Update documentation regarding
        MSVC 9.
        * doc/posix-functions/fprintf.texi: Likewise.
        * doc/posix-functions/printf.texi: Likewise.
        * doc/posix-functions/snprintf.texi: Likewise.
        * doc/posix-functions/sprintf.texi: Likewise.
        * doc/posix-functions/swprintf.texi: Likewise.
        * doc/posix-functions/vdprintf.texi: Likewise.
        * doc/posix-functions/vfprintf.texi: Likewise.
        * doc/posix-functions/vprintf.texi: Likewise.
        * doc/posix-functions/vsnprintf.texi: Likewise.
        * doc/posix-functions/vsprintf.texi: Likewise.
        * doc/glibc-functions/asprintf.texi: Likewise.
        * doc/glibc-functions/obstack_printf.texi: Likewise.
        * doc/glibc-functions/obstack_vprintf.texi: Likewise.
        * doc/glibc-functions/vasprintf.texi: Likewise.

--- m4/printf.m4.orig   Sat Sep 10 21:06:36 2011
+++ m4/printf.m4        Sat Sep 10 21:01:27 2011
@@ -1,4 +1,4 @@
-# printf.m4 serial 43
+# printf.m4 serial 44
 dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -615,12 +615,27 @@
       AC_RUN_IFELSE(
         [AC_LANG_SOURCE([[
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
+#ifdef _MSC_VER
+/* See page about "Parameter Validation" on msdn.microsoft.com.  */
+static void cdecl
+invalid_parameter_handler (const wchar_t *expression,
+                           const wchar_t *function,
+                           const wchar_t *file, unsigned int line,
+                           uintptr_t dummy)
+{
+  exit (1);
+}
+#endif
 static char fmtstring[10];
 static char buf[100];
 int main ()
 {
   int count = -1;
+#ifdef _MSC_VER
+  _set_invalid_parameter_handler (invalid_parameter_handler);
+#endif
   /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
      support %n in format strings in read-only memory but not in writable
      memory.  */
@@ -636,7 +651,8 @@
         [
 changequote(,)dnl
          case "$host_os" in
-           *)     gl_cv_func_printf_directive_n="guessing yes";;
+           mingw*) gl_cv_func_printf_directive_n="guessing no";;
+           *)      gl_cv_func_printf_directive_n="guessing yes";;
          esac
 changequote([,])dnl
         ])
@@ -1076,6 +1092,7 @@
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
     [gl_cv_func_snprintf_truncation_c99],
     [
@@ -1083,11 +1100,25 @@
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char buf[100];
 int main ()
 {
   strcpy (buf, "ABCDEF");
-  snprintf (buf, 3, "%d %d", 4567, 89);
+  my_snprintf (buf, 3, "%d %d", 4567, 89);
   if (memcmp (buf, "45\0DEF", 6) != 0)
     return 1;
   return 0;
@@ -1157,6 +1188,7 @@
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
     [gl_cv_func_snprintf_retval_c99],
     [
@@ -1164,15 +1196,29 @@
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char buf[100];
 int main ()
 {
   strcpy (buf, "ABCDEF");
-  if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
     return 1;
-  if (snprintf (buf, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
     return 2;
-  if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
     return 3;
   return 0;
 }]])],
@@ -1221,6 +1267,7 @@
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
     [gl_cv_func_snprintf_directive_n],
     [
@@ -1228,6 +1275,20 @@
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char fmtstring[10];
 static char buf[100];
 int main ()
@@ -1237,7 +1298,7 @@
      support %n in format strings in read-only memory but not in writable
      memory.  */
   strcpy (fmtstring, "%d %n");
-  snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
+  my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
   if (count != 6)
     return 1;
   return 0;
@@ -1289,16 +1350,31 @@
 AC_DEFUN([gl_SNPRINTF_SIZE1],
 [
   AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf respects a size of 1],
     [gl_cv_func_snprintf_size1],
     [
       AC_RUN_IFELSE(
         [AC_LANG_SOURCE([[
 #include <stdio.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 int main()
 {
   static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-  snprintf (buf, 1, "%d", 12345);
+  my_snprintf (buf, 1, "%d", 12345);
   return buf[1] != 'E';
 }]])],
         [gl_cv_func_snprintf_size1=yes],
@@ -1484,5 +1560,6 @@
 dnl   Haiku                          .  .  .  #  #  #  .  #  .  .  .  .  .  ?  
.  .  ?  .  .  .
 dnl   BeOS                           #  #  .  #  #  #  .  ?  #  .  ?  .  #  ?  
.  .  ?  .  .  .
 dnl   old mingw / msvcrt             #  #  #  #  #  #  .  .  #  #  .  #  #  ?  
.  #  #  #  .  .
+dnl   MSVC 9                         #  #  #  #  #  #  #  .  #  #  .  #  #  ?  
#  #  #  #  .  .
 dnl   mingw 2009-2011                .  #  .  #  .  .  .  .  #  #  .  .  .  ?  
.  .  .  .  .  .
 dnl   mingw-w64 2011                 #  #  #  #  #  #  .  .  #  #  .  #  #  ?  
.  #  #  #  .  .
--- m4/vsnprintf-posix.m4.orig  Sat Sep 10 21:06:36 2011
+++ m4/vsnprintf-posix.m4       Sat Sep 10 20:48:56 2011
@@ -1,4 +1,4 @@
-# vsnprintf-posix.m4 serial 14
+# vsnprintf-posix.m4 serial 15
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -23,7 +23,7 @@
   gl_cv_func_vsnprintf_posix=no
   AC_CHECK_FUNCS([vsnprintf])
   if test $ac_cv_func_vsnprintf = yes; then
-    dnl Assume that if vsnprintf() exists, snprintf() also exists.
+    dnl These tests use vsnprintf() if snprintf() does not exist.
     gl_SNPRINTF_TRUNCATION_C99
     gl_SNPRINTF_RETVAL_C99
     gl_SNPRINTF_DIRECTIVE_N
--- doc/posix-functions/dprintf.texi.orig       Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/dprintf.texi    Sat Sep 10 11:44:23 2011
@@ -11,7 +11,7 @@
 @item
 This function is missing on many non-glibc platforms:
 MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5, 
BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 
3.5, BeOS.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{dprintf-posix}:
--- doc/posix-functions/fprintf.texi.orig       Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/fprintf.texi    Sat Sep 10 20:34:23 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
 When writing to a non-blocking pipe whose buffer is full, this function fails
 with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
 platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{stdio} or 
@code{fprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
 @item
 When writing to a pipe with no readers, this function fails, instead of
 obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/posix-functions/printf.texi.orig        Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/printf.texi     Sat Sep 10 20:34:25 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
 When writing to a non-blocking pipe whose buffer is full, this function fails
 with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
 platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{stdio} or 
@code{printf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
 @item
 When writing to a pipe with no readers, this function fails, instead of
 obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/posix-functions/snprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/snprintf.texi   Sat Sep 10 20:36:02 2011
@@ -10,7 +10,7 @@
 @itemize
 @item
 This function is missing on some platforms:
-IRIX 5.3, OSF/1 4.0, Solaris 2.5.1.
+IRIX 5.3, OSF/1 4.0, Solaris 2.5.1, MSVC 9.
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
@@ -30,23 +30,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -56,7 +59,7 @@
 Solaris 11 2010-11.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -64,11 +67,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -79,10 +82,10 @@
 MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
 @item
 This function does not truncate the result as specified in C99 on some 
platforms:
-mingw.
+mingw, MSVC 9.
 @item
 This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
 @item
 This function overwrites memory even when a zero size argument is passed on 
some
 platforms:
--- doc/posix-functions/sprintf.texi.orig       Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/sprintf.texi    Sat Sep 10 20:34:29 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
--- doc/posix-functions/swprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/swprintf.texi   Sat Sep 10 20:34:32 2011
@@ -16,6 +16,9 @@
 This function is missing on some platforms:
 NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11.00, IRIX 6.5, Solaris 2.6, 
Cygwin 1.5.x, Interix 3.5, BeOS.
 @item
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
address@hidden
 On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore 
cannot
 accommodate all Unicode characters.
 @item
--- doc/posix-functions/vdprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vdprintf.texi   Sat Sep 10 11:44:30 2011
@@ -11,7 +11,7 @@
 @item
 This function is missing on some platforms:
 MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, Interix 3.5.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, Interix 
3.5.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{vdprintf-posix}:
--- doc/posix-functions/vfprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vfprintf.texi   Sat Sep 10 20:34:33 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
 When writing to a non-blocking pipe whose buffer is full, this function fails
 with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
 platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{stdio} or 
@code{vfprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
 @item
 When writing to a pipe with no readers, this function fails, instead of
 obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/posix-functions/vprintf.texi.orig       Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vprintf.texi    Sat Sep 10 20:34:34 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -70,7 +73,7 @@
 When writing to a non-blocking pipe whose buffer is full, this function fails
 with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
 platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{stdio} or 
@code{vprintf-posix}, together with module @code{sigpipe}:
@@ -78,7 +81,7 @@
 @item
 When writing to a pipe with no readers, this function fails, instead of
 obeying the current @code{SIGPIPE} handler, on some platforms:
-mingw.
+mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/posix-functions/vsnprintf.texi.orig     Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vsnprintf.texi  Sat Sep 10 20:34:35 2011
@@ -14,7 +14,7 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function overwrites memory even when a size argument of 1 is passed on 
some
 platforms:
@@ -22,7 +22,7 @@
 @item
 This function does not return a byte count as specified in C99 on some
 platforms:
-HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw.
+HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 9.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{vsnprintf-posix}:
@@ -30,23 +30,23 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -56,7 +56,7 @@
 Solaris 11 2010-11.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -64,11 +64,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
@@ -79,10 +79,10 @@
 MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
 @item
 This function does not truncate the result as specified in C99 on some 
platforms:
-mingw.
+mingw, MSVC 9.
 @item
 This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
 @item
 This function overwrites memory even when a zero size argument is passed on 
some
 platforms:
--- doc/posix-functions/vsprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/posix-functions/vsprintf.texi   Sat Sep 10 20:34:36 2011
@@ -11,23 +11,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -38,10 +41,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -49,11 +52,11 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-AIX 7.1, Solaris 10/x86, mingw, BeOS.
+AIX 7.1, Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function mishandles large floating point precisions
 (for example, formatting 1.0 with @samp{"%.511f"})
--- doc/glibc-functions/asprintf.texi.orig      Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/asprintf.texi   Sat Sep 10 20:33:36 2011
@@ -8,7 +8,7 @@
 @itemize
 @item
 This function is missing on some platforms:
-AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5.
+AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{vasprintf-posix}:
--- doc/glibc-functions/obstack_printf.texi.orig        Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/obstack_printf.texi     Sat Sep 10 20:34:05 2011
@@ -9,7 +9,7 @@
 @itemize
 @item
 This function is missing on all non-glibc platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, 
BeOS.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, 
Interix 3.5, BeOS.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{ostack-printf-posix}:
@@ -17,23 +17,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -44,10 +47,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -55,17 +58,17 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-Solaris 10/x86, mingw, BeOS.
+Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function can crash in out-of-memory conditions on some platforms:
 MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
 @item
 This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/glibc-functions/obstack_vprintf.texi.orig       Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/obstack_vprintf.texi    Sat Sep 10 20:34:07 2011
@@ -9,7 +9,7 @@
 @itemize
 @item
 This function is missing on all non-glibc platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, 
BeOS.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, MSVC 9, 
Interix 3.5, BeOS.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{ostack-printf-posix}:
@@ -17,23 +17,26 @@
 @item
 This function does not support size specifiers as in C99 (@code{hh}, @code{ll},
 @code{j}, @code{t}, @code{z}) on some platforms:
-AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
BeOS.
+AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.24, mingw, 
MSVC 9, BeOS.
 @item
 printf of @samp{long double} numbers is unsupported on some platforms:
-mingw, BeOS.
+mingw, MSVC 9, BeOS.
 @item
 printf @code{"%f"}, @code{"%e"}, @code{"%g"} of Infinity and NaN yields an
 incorrect result on some platforms:
-AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw.
+AIX 5.2, OSF/1 5.1, Solaris 11 2010-11, mingw, MSVC 9.
 @item
 This function does not support the @samp{a} and @samp{A} directives on some
 platforms:
 glibc-2.3.6, MacOS X 10.5, NetBSD 5.0, OpenBSD 4.0, AIX 5.2, HP-UX 11,
-IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, BeOS.
+IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin 1.5.x, mingw, MSVC 9, BeOS.
 @item
 This function does not support the @samp{F} directive on some platforms:
 NetBSD 3.0, AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
-Cygwin 1.5.x, mingw, BeOS.
+Cygwin 1.5.x, mingw, MSVC 9, BeOS.
address@hidden
+This function does not support the @samp{n} directive on some platforms:
+MSVC 9.
 @item
 This function does not support the @samp{ls} directive on some platforms:
 OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Cygwin 1.5.x, Haiku.
@@ -44,10 +47,10 @@
 @item
 This function does not support format directives that access arguments in an
 arbitrary order, such as @code{"%2$s"}, on some platforms:
-NetBSD 3.0, mingw, BeOS.
+NetBSD 3.0, mingw, MSVC 9, BeOS.
 @item
 This function doesn't support the @code{'} flag on some platforms:
-NetBSD 3.0, Cygwin 1.5.24, mingw.
+NetBSD 3.0, Cygwin 1.5.24, mingw, MSVC 9.
 @item
 This function behaves incorrectly when a @samp{-} flag and a negative width
 are specified together, on some platforms:
@@ -55,17 +58,17 @@
 @item
 printf @code{"%010f"} of NaN and Infinity yields an incorrect result (padded
 with zeroes) on some platforms:
-MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw.
+MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, AIX 5.2, IRIX 6.5, OSF/1 5.1, Solaris 
11 2010-11, Cygwin 1.5.x, mingw, MSVC 9.
 @item
 This function does not support precisions larger than 512 or 1024 in integer,
 floating-point and pointer output on some platforms:
-Solaris 10/x86, mingw, BeOS.
+Solaris 10/x86, mingw, MSVC 9, BeOS.
 @item
 This function can crash in out-of-memory conditions on some platforms:
 MacOS X 10.3, FreeBSD 6.0, NetBSD 5.0.
 @item
 This function does not fully support the @samp{n} directive on some platforms:
-HP-UX 11, mingw.
+HP-UX 11, mingw, MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- doc/glibc-functions/vasprintf.texi.orig     Sat Sep 10 21:06:36 2011
+++ doc/glibc-functions/vasprintf.texi  Sat Sep 10 11:44:20 2011
@@ -8,7 +8,7 @@
 @itemize
 @item
 This function is missing on some platforms:
-AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5.
+AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5.
 @end itemize
 
 Portability problems fixed by Gnulib module @code{vasprintf-posix}:

-- 
In memoriam Sergei Tretyakov <http://en.wikipedia.org/wiki/Sergei_Tretyakov>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]