From: Bruno Haible Date: Sun, 11 Sep 2011 12:14:04 +0000 (+0200) Subject: Ensure pid_t gets defined. X-Git-Tag: v0.1~1932 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=0b88a15dca93414df75ff004811c8e2573d593e3;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index f50c4a886e..6ed2602672 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2011-09-11 Bruno Haible + + 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 acl: Fix compilation on Solaris 10 (older version). diff --git a/doc/posix-headers/fcntl.texi b/doc/posix-headers/fcntl.texi index c87e8726d4..fa66cb316d 100644 --- a/doc/posix-headers/fcntl.texi +++ b/doc/posix-headers/fcntl.texi @@ -7,6 +7,10 @@ Gnulib module: fcntl-h 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}, diff --git a/doc/posix-headers/signal.texi b/doc/posix-headers/signal.texi index f2878d4ca9..0df44ec80f 100644 --- a/doc/posix-headers/signal.texi +++ b/doc/posix-headers/signal.texi @@ -23,6 +23,9 @@ mingw. 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 diff --git a/doc/posix-headers/sys_types.texi b/doc/posix-headers/sys_types.texi index 58a5fd6796..1141a2b40a 100644 --- a/doc/posix-headers/sys_types.texi +++ b/doc/posix-headers/sys_types.texi @@ -11,4 +11,8 @@ Portability problems fixed by Gnulib: 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 diff --git a/doc/posix-headers/time.texi b/doc/posix-headers/time.texi index 5b2320338f..40a24b3e12 100644 --- a/doc/posix-headers/time.texi +++ b/doc/posix-headers/time.texi @@ -10,6 +10,10 @@ Portability problems fixed by Gnulib: @item @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: diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index c466da4df5..346315c0b4 100644 --- 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_DEFUN([gl_FCNTL_H], 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. diff --git a/m4/sched_h.m4 b/m4/sched_h.m4 index 9cff891950..e6ff995ffb 100644 --- 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 @@ AC_DEFUN([gl_SCHED_H], [HAVE_STRUCT_SCHED_PARAM=1], [HAVE_STRUCT_SCHED_PARAM=0], [#include ]) 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"]) diff --git a/m4/signal_h.m4 b/m4/signal_h.m4 index b9536fb0e3..c3f25386ca 100644 --- 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 @@ AC_DEFUN([gl_SIGNAL_H], #include ]]) + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + AC_REQUIRE([AC_TYPE_UID_T]) dnl Persuade glibc to define sighandler_t. diff --git a/m4/spawn_h.m4 b/m4/spawn_h.m4 index 4903b6a4a1..33d30e6e90 100644 --- 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 @@ AC_DEFUN([gl_SPAWN_H], 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]) diff --git a/m4/sys_wait_h.m4 b/m4/sys_wait_h.m4 index e3b147c4fd..7cb76c27c2 100644 --- 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 @@ AC_DEFUN([gl_SYS_WAIT_H], dnl 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 ]], diff --git a/m4/termios_h.m4 b/m4/termios_h.m4 index 2b799efb49..33a2358f61 100644 --- 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 @@ AC_DEFUN([gl_TERMIOS_H], 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. diff --git a/m4/time_h.m4 b/m4/time_h.m4 index 615da1cfd3..6e6394fdc9 100644 --- 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_DEFUN([gl_HEADER_TIME_H_BODY], 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 diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index fb6fe07726..6483b815d6 100644 --- 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 @@ AC_DEFUN([gl_UNISTD_H], 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 diff --git a/tests/test-fcntl-h.c b/tests/test-fcntl-h.c index 648701ef4b..078aecdd44 100644 --- a/tests/test-fcntl-h.c +++ b/tests/test-fcntl-h.c @@ -31,6 +31,9 @@ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET }; /* Check that the FD_* macros are defined. */ int i = FD_CLOEXEC; +/* Check that the types are all defined. */ +pid_t t1; + int main (void) { diff --git a/tests/test-sched.c b/tests/test-sched.c index 8d0c8cdb67..177d33e1ea 100644 --- a/tests/test-sched.c +++ b/tests/test-sched.c @@ -26,6 +26,9 @@ static struct sched_param a; /* 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 diff --git a/tests/test-termios.c b/tests/test-termios.c index 9144b1b49a..f6b1d021ab 100644 --- a/tests/test-termios.c +++ b/tests/test-termios.c @@ -20,6 +20,9 @@ #include +/* Check that the types are all defined. */ +pid_t t1; + int main (void) { diff --git a/tests/test-time.c b/tests/test-time.c index 0c78f36c66..df4710d445 100644 --- 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. */