changeset 15594:f4cfbb6036d8

Ensure pid_t gets defined. * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T. * m4/sched_h.m4 (gl_SCHED_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise. * m4/termios_h.m4 (gl_TERMIOS_H): Likewise. * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * tests/test-fcntl-h.c: Check that pid_t is defined. * tests/test-sched.c: Likewise. * tests/test-termios.c: Likewise. * tests/test-time.c: Likewise. * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform. * doc/posix-headers/signal.texi: Likewise. * doc/posix-headers/sys_types.texi: Likewise. * doc/posix-headers/time.texi: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 11 Sep 2011 14:14:04 +0200
parents 270852a80105
children 328819af1c02
files ChangeLog doc/posix-headers/fcntl.texi doc/posix-headers/signal.texi doc/posix-headers/sys_types.texi doc/posix-headers/time.texi m4/fcntl_h.m4 m4/sched_h.m4 m4/signal_h.m4 m4/spawn_h.m4 m4/sys_wait_h.m4 m4/termios_h.m4 m4/time_h.m4 m4/unistd_h.m4 tests/test-fcntl-h.c tests/test-sched.c tests/test-termios.c tests/test-time.c
diffstat 17 files changed, 79 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2011-09-11  Bruno Haible  <bruno@clisp.org>
+
+	Ensure pid_t gets defined.
+	* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
+	* m4/sched_h.m4 (gl_SCHED_H): Likewise.
+	* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
+	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
+	* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
+	* m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
+	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
+	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
+	* tests/test-fcntl-h.c: Check that pid_t is defined.
+	* tests/test-sched.c: Likewise.
+	* tests/test-termios.c: Likewise.
+	* tests/test-time.c: Likewise.
+	* doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
+	* doc/posix-headers/signal.texi: Likewise.
+	* doc/posix-headers/sys_types.texi: Likewise.
+	* doc/posix-headers/time.texi: Likewise.
+
 2011-09-11  Bruno Haible  <bruno@clisp.org>
 
 	acl: Fix compilation on Solaris 10 (older version).
--- a/doc/posix-headers/fcntl.texi
+++ b/doc/posix-headers/fcntl.texi
@@ -8,6 +8,10 @@
 Portability problems fixed by Gnulib:
 @itemize
 @item
+The type @code{pid_t} is not defined on some platforms:
+MSVC 9.
+
+@item
 @samp{O_CLOEXEC}, @samp{O_DIRECTORY}, @samp{O_DSYNC}, @samp{O_NOCTTY},
 @samp{O_NOFOLLOW}, @samp{O_RSYNC}, @samp{O_SYNC},
 and @samp{O_TTY_INIT} are not defined on some platforms.  Gnulib defines
--- a/doc/posix-headers/signal.texi
+++ b/doc/posix-headers/signal.texi
@@ -23,6 +23,9 @@
 platforms:
 Irix 5.3, Interix 3.5.
 @item
+The type @code{pid_t} is not defined on some platforms:
+MSVC 9.
+@item
 The signal @code{SIGPIPE} is not defined on some platforms:
 mingw.
 @item
--- a/doc/posix-headers/sys_types.texi
+++ b/doc/posix-headers/sys_types.texi
@@ -11,4 +11,8 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+The type @code{pid_t} is not defined on some platforms:
+MSVC 9.
+You can use the macro @code{AC_TYPE_PID_T} to fix this.
 @end itemize
--- a/doc/posix-headers/time.texi
+++ b/doc/posix-headers/time.texi
@@ -11,6 +11,10 @@
 @samp{struct timespec} is not defined on some platforms.
 
 @item
+The type @code{pid_t} is not defined on some platforms:
+MSVC 9.
+
+@item
 Some platforms provide a @code{NULL} macro that cannot be used in arbitrary
 expressions:
 NetBSD 5.0
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,4 +1,4 @@
-# serial 13
+# serial 14
 # Configure fcntl.h.
 dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
@@ -13,6 +13,9 @@
   AC_REQUIRE([gl_FCNTL_O_FLAGS])
   gl_NEXT_HEADERS([fcntl.h])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use, if it is not common
   dnl enough to be declared everywhere.
--- a/m4/sched_h.m4
+++ b/m4/sched_h.m4
@@ -1,4 +1,4 @@
-# sched_h.m4 serial 4
+# sched_h.m4 serial 5
 dnl Copyright (C) 2008-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,
@@ -30,6 +30,9 @@
        [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0],
        [#include <sched.h>])
      AC_SUBST([HAVE_STRUCT_SCHED_PARAM])
+
+     dnl Ensure the type pid_t gets defined.
+     AC_REQUIRE([AC_TYPE_PID_T])
     ])
   AC_SUBST([SCHED_H])
   AM_CONDITIONAL([GL_GENERATE_SCHED_H], [test -n "$SCHED_H"])
--- a/m4/signal_h.m4
+++ b/m4/signal_h.m4
@@ -1,4 +1,4 @@
-# signal_h.m4 serial 16
+# signal_h.m4 serial 17
 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,
@@ -17,6 +17,9 @@
 #include <signal.h>
     ]])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   AC_REQUIRE([AC_TYPE_UID_T])
 
   dnl Persuade glibc <signal.h> to define sighandler_t.
--- a/m4/spawn_h.m4
+++ b/m4/spawn_h.m4
@@ -1,4 +1,4 @@
-# spawn_h.m4 serial 13
+# spawn_h.m4 serial 14
 dnl Copyright (C) 2008-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,
@@ -31,6 +31,9 @@
   fi
   AC_SUBST([HAVE_SPAWN_H])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   AC_REQUIRE([gl_HAVE_POSIX_SPAWN])
 
   AC_REQUIRE([AC_C_RESTRICT])
--- a/m4/sys_wait_h.m4
+++ b/m4/sys_wait_h.m4
@@ -1,4 +1,4 @@
-# sys_wait_h.m4 serial 5
+# sys_wait_h.m4 serial 6
 dnl Copyright (C) 2008-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,
@@ -11,6 +11,9 @@
   dnl <sys/wait.h> is always overridden, because of GNULIB_POSIXCHECK.
   gl_CHECK_NEXT_HEADERS([sys/wait.h])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <sys/wait.h>]],
--- a/m4/termios_h.m4
+++ b/m4/termios_h.m4
@@ -1,4 +1,4 @@
-# termios_h.m4 serial 3
+# termios_h.m4 serial 4
 dnl Copyright (C) 2010-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,
@@ -15,6 +15,9 @@
     HAVE_TERMIOS_H=0
   fi
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use, and which is not
   dnl guaranteed by C89.
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -2,7 +2,7 @@
 
 # Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
 
-# serial 4
+# serial 5
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -23,6 +23,9 @@
   AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
   gl_NEXT_HEADERS([time.h])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
+
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
 ])
 
 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 56
+# unistd_h.m4 serial 57
 dnl Copyright (C) 2006-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,
@@ -21,6 +21,9 @@
   fi
   AC_SUBST([HAVE_UNISTD_H])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
--- a/tests/test-fcntl-h.c
+++ b/tests/test-fcntl-h.c
@@ -31,6 +31,9 @@
 /* Check that the FD_* macros are defined.  */
 int i = FD_CLOEXEC;
 
+/* Check that the types are all defined.  */
+pid_t t1;
+
 int
 main (void)
 {
--- a/tests/test-sched.c
+++ b/tests/test-sched.c
@@ -26,6 +26,9 @@
 /* Check that the SCHED_* macros are defined and compile-time constants.  */
 int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER };
 
+/* Check that the types are all defined.  */
+pid_t t1;
+
 static int f1;
 
 int
--- a/tests/test-termios.c
+++ b/tests/test-termios.c
@@ -20,6 +20,9 @@
 
 #include <termios.h>
 
+/* Check that the types are all defined.  */
+pid_t t1;
+
 int
 main (void)
 {
--- a/tests/test-time.c
+++ b/tests/test-time.c
@@ -22,7 +22,9 @@
 
 #include "verify.h"
 
-struct timespec a;
+/* Check that the types are all defined.  */
+struct timespec t1;
+pid_t t2;
 
 /* Check that NULL can be passed through varargs as a pointer type,
    per POSIX 2008.  */