changeset 15620:04a6b94f5530

Support for MSVC compiler: Ensure ssize_t gets defined. * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem. * doc/posix-headers/stdio.texi: Likewise. * modules/stdio (Depends-on): Add ssize_t. * modules/sys_socket (Depends-on): Likewise. * modules/sys_types (Depends-on): Likewise. * modules/sys_uio (Depends-on): Likewise. * modules/unistd (Depends-on): Likewise. * tests/test-sys_socket.c: Check that size_t and ssize_t are defined. * tests/test-sys_types.c: Check that ssize_t is defined.
author Bruno Haible <bruno@clisp.org>
date Thu, 15 Sep 2011 18:00:32 +0200
parents 947cb4acb113
children 44827bcbe6ca
files ChangeLog doc/posix-headers/stdio.texi doc/posix-headers/sys_types.texi modules/stdio modules/sys_socket modules/sys_types modules/sys_uio modules/unistd tests/test-sys_socket.c tests/test-sys_types.c
diffstat 10 files changed, 27 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2011-09-15  Bruno Haible  <bruno@clisp.org>
+
+	Support for MSVC compiler: Ensure ssize_t gets defined.
+	* doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
+	* doc/posix-headers/stdio.texi: Likewise.
+	* modules/stdio (Depends-on): Add ssize_t.
+	* modules/sys_socket (Depends-on): Likewise.
+	* modules/sys_types (Depends-on): Likewise.
+	* modules/sys_uio (Depends-on): Likewise.
+	* modules/unistd (Depends-on): Likewise.
+	* tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
+	* tests/test-sys_types.c: Check that ssize_t is defined.
+
 2011-09-14  Bruno Haible  <bruno@clisp.org>
 
 	Avoid using #, the m4 comment starter character, near brackets.
--- a/doc/posix-headers/stdio.texi
+++ b/doc/posix-headers/stdio.texi
@@ -12,7 +12,7 @@
 glibc 2.8, eglibc 2.11.2 and others.
 @item
 The type @code{ssize_t} is missing on some platforms:
-glibc 2.8, MacOS X 10.5, Solaris 10, and others.
+glibc 2.8, MacOS X 10.5, Solaris 10, MSVC 9, and others.
 @item
 The type @code{va_list} is missing on some platforms:
 glibc 2.8, OpenBSD 4.0, Solaris 11 2010-11, and others.
--- a/doc/posix-headers/sys_types.texi
+++ b/doc/posix-headers/sys_types.texi
@@ -13,6 +13,9 @@
 @item
 The type @code{size_t} is not defined in this file on some platforms:
 MSVC 9.
+@item
+The type @code{ssize_t} is not defined on some platforms:
+MSVC 9.
 @end itemize
 
 Portability problems not fixed by Gnulib:
--- a/modules/stdio
+++ b/modules/stdio
@@ -10,6 +10,7 @@
 snippet/arg-nonnull
 snippet/c++defs
 snippet/warn-on-use
+ssize_t
 stddef
 
 configure.ac:
--- a/modules/sys_socket
+++ b/modules/sys_socket
@@ -14,6 +14,7 @@
 snippet/c++defs
 snippet/warn-on-use
 socklen
+ssize_t
 sys_uio
 
 configure.ac:
--- a/modules/sys_types
+++ b/modules/sys_types
@@ -7,6 +7,7 @@
 
 Depends-on:
 include_next
+ssize_t
 
 configure.ac:
 gl_SYS_TYPES_H
--- a/modules/sys_uio
+++ b/modules/sys_uio
@@ -7,6 +7,7 @@
 
 Depends-on:
 include_next
+ssize_t
 sys_types
 
 configure.ac:
--- a/modules/unistd
+++ b/modules/unistd
@@ -10,6 +10,7 @@
 snippet/arg-nonnull
 snippet/c++defs
 snippet/warn-on-use
+ssize_t
 stddef
 
 configure.ac:
--- a/tests/test-sys_socket.c
+++ b/tests/test-sys_socket.c
@@ -30,6 +30,10 @@
 /* Check that the 'socklen_t' type is defined.  */
 socklen_t t1;
 
+/* Check that the 'size_t' and 'ssize_t' types are defined.  */
+size_t t1;
+ssize_t t2;
+
 /* Check that 'struct iovec' is defined.  */
 struct iovec io;
 
--- a/tests/test-sys_types.c
+++ b/tests/test-sys_types.c
@@ -23,6 +23,7 @@
 /* Check that the types are all defined.  */
 pid_t t1;
 size_t t2;
+ssize_t t3;
 
 int
 main (void)