This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix sys/wait.h


On Tue, Jan 12, 2010 at 11:50:13AM +0100, Jakub Jelinek wrote:
> #define _POSIX_C_SOURCE 200809L
> #include <stdlib.h>
> #include <sys/wait.h>
> 
> now fails to compile.  The following should fix it.

Small correction to the testcase, the problem is without any
feature test macros actually.
In file included from a.c:2:
/usr/include/sys/wait.h:67: error: conflicting types for â??__WAIT_STATUSâ??
/usr/include/stdlib.h:72: note: previous declaration of â??__WAIT_STATUSâ?? was here
In file included from /usr/include/sys/wait.h:80,
                 from a.c:2:
/usr/include/bits/waitstatus.h:68: error: redefinition of â??union waitâ??

The posted patch fixes it.

> 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
> 
> 	* posix/sys/wait.h: Don't define W* macros etc. if
> 	stdlib.h has been included with _POSIX_C_SOURCE >= 200809L.
> 
> diff --git a/posix/sys/wait.h b/posix/sys/wait.h
> index bb98c00..6d7f068 100644
> --- a/posix/sys/wait.h
> +++ b/posix/sys/wait.h
> @@ -32,7 +32,7 @@ __BEGIN_DECLS
>  #include <sys/resource.h>
>  
>  /* These macros could also be defined in <stdlib.h>.  */
> -#if !defined _STDLIB_H || !defined __USE_XOPEN
> +#if !defined _STDLIB_H || (!defined __USE_XOPEN && !defined __USE_XOPEN2K8)
>  /* This will define the `W*' macros for the flag
>     bits to `waitpid', `wait3', and `wait4'.  */
>  # include <bits/waitflags.h>

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]