Fix stdlib.h rand_r namespace (bug 20074).
stdlib.h declares rand_r if __USE_POSIX; i.e., POSIX.1:1990. But rand_r was added along with threads, so the condition should be __USE_POSIX199506. This patch corrects the condition. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #20074] * stdlib/stdlib.h (rand_r): Declare if [__USE_POSIX199506], not if [__USE_POSIX]. * conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove variable.
This commit is contained in:
parent
4242d9683f
commit
b098852ac2
|
@ -1,5 +1,11 @@
|
|||
2016-05-17 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #20074]
|
||||
* stdlib/stdlib.h (rand_r): Declare if [__USE_POSIX199506], not if
|
||||
[__USE_POSIX].
|
||||
* conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove
|
||||
variable.
|
||||
|
||||
[BZ #20051]
|
||||
* posix/unistd.h [__USE_XOPEN_EXTENDED && !__USE_UNIX98]
|
||||
(ttyslot): Do not declare.
|
||||
|
|
|
@ -174,7 +174,6 @@ test-xfail-XPG4/arpa/inet.h/conform = yes
|
|||
test-xfail-XPG4/netdb.h/conform = yes
|
||||
test-xfail-XPG4/netinet/in.h/conform = yes
|
||||
test-xfail-XPG4/signal.h/conform = yes
|
||||
test-xfail-XPG4/stdlib.h/conform = yes
|
||||
test-xfail-XPG4/sys/stat.h/conform = yes
|
||||
test-xfail-XPG4/sys/wait.h/conform = yes
|
||||
test-xfail-XPG4/ucontext.h/conform = yes
|
||||
|
|
|
@ -337,7 +337,7 @@ extern int rand (void) __THROW;
|
|||
extern void srand (unsigned int __seed) __THROW;
|
||||
__END_NAMESPACE_STD
|
||||
|
||||
#ifdef __USE_POSIX
|
||||
#ifdef __USE_POSIX199506
|
||||
/* Reentrant interface according to POSIX.1. */
|
||||
extern int rand_r (unsigned int *__seed) __THROW;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue