This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 03/23/2016 03:36 PM, Yaakov Selkowitz wrote:
Two other possibilities for consideration (considering in PORTABILITY as #1, and only showing an abbreviated example without getting into the POSIX 4 extension complication, which would just add a line or 2):On 2016-03-23 13:43, Joel Sherrill wrote:On 3/23/2016 12:45 PM, Yaakov Selkowitz wrote:On 2016-03-23 12:38, Joel Sherrill wrote:--- a/newlib/libc/include/stdlib.h +++ b/newlib/libc/include/stdlib.h @@ -226,6 +226,12 @@ unsigned short * _VOID _EXFUN(srand48,(long)); _VOID _EXFUN(_srand48_r,(struct _reent *, long)); #endif /* __SVID_VISIBLE || __XSI_VISIBLE */ +#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLEPlease review my previous comment on this.Is this the desired guard? #if __MISC_VISIBLE || __XSI_VISIBLE >= 500MISC is right, but based on Craig's comment, it should be: #if __MISC_VISIBLE || __XSI_VISIBLE >= 4+ANSI_SYNOPSIS + #define _XOPEN_SOURCE 500 + #include <stdlib.h> + long int random(void); + void srandom(unsigned int <[seed]>);This doesn't match the header guard, nor does it account for the multiple options.So how is the || documented in this format?That hasn't been determined yet, but what about e.g.: /* See PORTABILITY for feature test macros */ #include <stdlib.h> long int random(void); void srandom(unsigned int <[seed]>); Then mention the possibilities in PORTABILITY?
2) the way Linux man pages do it. From Linux random(3):
"Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
random(), srandom(), initstate(), setstate(): _SVID_SOURCE ||
_BSD_SOURCE || _XOPEN_SOURCE >= 500"
3) Or perhaps something like:
#define _BSD_SOURCE // one (or more) of these #defines is needed before the
#include
#define _SVID_SOURCE #define _XOPEN_SOURCE 500 #include <stdlib.h> The Linux 'A || B' formula could be used under PORTABILITY.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |