Fix XPG4 bsd_signal namespace (bug 21552).

bsd_signal was added in XPG4.2, so should be declared for
__USE_XOPEN_EXTENDED, instead of the present __USE_XOPEN condition.
This patch fixes the condition accordingly.

Tested for x86_64.

	[BZ #21552]
	* signal/signal.h (bsd_signal): Declare if [__USE_XOPEN_EXTENDED],
	not [__USE_XOPEN].
	* conform/Makefile (test-xfail-XPG4/signal.h/conform): Remove.
This commit is contained in:
Joseph Myers 2017-06-12 17:39:47 +00:00
parent a0f8b11520
commit 9527ae8291
3 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2017-06-12 Joseph Myers <joseph@codesourcery.com> 2017-06-12 Joseph Myers <joseph@codesourcery.com>
[BZ #21552]
* signal/signal.h (bsd_signal): Declare if [__USE_XOPEN_EXTENDED],
not [__USE_XOPEN].
* conform/Makefile (test-xfail-XPG4/signal.h/conform): Remove.
[BZ #21550] [BZ #21550]
* signal/signal.h (sigwait): Only declare if [__USE_POSIX199506]. * signal/signal.h (sigwait): Only declare if [__USE_POSIX199506].

View File

@ -161,7 +161,6 @@ test-xfail-XOPEN2K/ndbm.h/conform = yes
test-xfail-XOPEN2K8/ndbm.h/conform = yes test-xfail-XOPEN2K8/ndbm.h/conform = yes
# Unsorted expected failures. # Unsorted expected failures.
test-xfail-XPG4/signal.h/conform = yes
test-xfail-XPG42/signal.h/conform = yes test-xfail-XPG42/signal.h/conform = yes
test-xfail-XPG42/sys/wait.h/conform = yes test-xfail-XPG42/sys/wait.h/conform = yes
test-xfail-XPG42/ucontext.h/conform = yes test-xfail-XPG42/ucontext.h/conform = yes

View File

@ -94,7 +94,7 @@ extern __sighandler_t __REDIRECT_NTH (signal,
# endif # endif
#endif #endif
#if defined __USE_XOPEN && !defined __USE_XOPEN2K8 #if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8
/* The X/Open definition of `signal' conflicts with the BSD version. /* The X/Open definition of `signal' conflicts with the BSD version.
So they defined another function `bsd_signal'. */ So they defined another function `bsd_signal'. */
extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)