From 0b88a15dca93414df75ff004811c8e2573d593e3 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 11 Sep 2011 14:14:04 +0200 Subject: [PATCH] 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. --- ChangeLog | 20 ++++++++++++++++++++ doc/posix-headers/fcntl.texi | 4 ++++ doc/posix-headers/signal.texi | 3 +++ doc/posix-headers/sys_types.texi | 4 ++++ doc/posix-headers/time.texi | 4 ++++ m4/fcntl_h.m4 | 5 ++++- m4/sched_h.m4 | 5 ++++- m4/signal_h.m4 | 5 ++++- m4/spawn_h.m4 | 5 ++++- m4/sys_wait_h.m4 | 5 ++++- m4/termios_h.m4 | 5 ++++- m4/time_h.m4 | 5 ++++- m4/unistd_h.m4 | 5 ++++- tests/test-fcntl-h.c | 3 +++ tests/test-sched.c | 3 +++ tests/test-termios.c | 3 +++ tests/test-time.c | 4 +++- 17 files changed, 79 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index f50c4a886..6ed260267 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ 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). * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead of ACE_EVERYONE. diff --git a/doc/posix-headers/fcntl.texi b/doc/posix-headers/fcntl.texi index c87e8726d..fa66cb316 100644 --- a/doc/posix-headers/fcntl.texi +++ b/doc/posix-headers/fcntl.texi @@ -8,6 +8,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}, and @samp{O_TTY_INIT} are not defined on some platforms. Gnulib defines diff --git a/doc/posix-headers/signal.texi b/doc/posix-headers/signal.texi index f2878d4ca..0df44ec80 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 58a5fd679..1141a2b40 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 5b2320338..40a24b3e1 100644 --- a/doc/posix-headers/time.texi +++ b/doc/posix-headers/time.texi @@ -11,6 +11,10 @@ Portability problems fixed by Gnulib: @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 diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4 index c466da4df..346315c0b 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 9cff89195..e6ff995ff 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 b9536fb0e..c3f25386c 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 4903b6a4a..33d30e6e9 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 e3b147c4f..7cb76c27c 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 2b799efb4..33a2358f6 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 615da1cfd..6e6394fdc 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 fb6fe0772..6483b815d 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 648701ef4..078aecdd4 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 8d0c8cdb6..177d33e1e 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 9144b1b49..f6b1d021a 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 0c78f36c6..df4710d44 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. */ -- 2.11.0