public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Fix sys/wait.h
@ 2010-01-12 10:50 Jakub Jelinek
  2010-01-12 11:01 ` Jakub Jelinek
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Jelinek @ 2010-01-12 10:50 UTC (permalink / raw)
  To: Ulrich Drepper; +Cc: Glibc hackers

Hi!

#define _POSIX_C_SOURCE 200809L
#include <stdlib.h>
#include <sys/wait.h>

now fails to compile.  The following should fix 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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Fix sys/wait.h
  2010-01-12 10:50 [PATCH] Fix sys/wait.h Jakub Jelinek
@ 2010-01-12 11:01 ` Jakub Jelinek
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2010-01-12 11:01 UTC (permalink / raw)
  To: Ulrich Drepper; +Cc: Glibc hackers

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-01-12 11:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-12 10:50 [PATCH] Fix sys/wait.h Jakub Jelinek
2010-01-12 11:01 ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).