diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2016-02-04 17:07:44 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-02-08 10:39:31 +0100 |
commit | c5fee55606ef77b1ec665e2903848cc9c504297c (patch) | |
tree | fd972d276cd6662e4d147705e0871be1255f8f5b /newlib/libc/include | |
parent | 352cdbb0125fafdf61977bfa299a7214ac885838 (diff) | |
download | cygnal-c5fee55606ef77b1ec665e2903848cc9c504297c.tar.gz cygnal-c5fee55606ef77b1ec665e2903848cc9c504297c.tar.bz2 cygnal-c5fee55606ef77b1ec665e2903848cc9c504297c.zip |
stdio.h: Use __POSIX_VISIBLE etc. guards for POSIX 1003.1:2001 functions
Current mesa expects stdio.h to prototype fileno() when compiling with gcc
-std=c99 -D_XOPEN_SOURCE
Fix the 'POSIX 1003.1:2001' block in stdio.h to prototype functions if not
__STRICT_ANSI__, or _BSD_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined
appropriately
As far as I can tell, despite being in this block, setbuffer() and setlinebuf()
are BSDisms which aren't in POSIX 1003.1:2001
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/stdio.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index 9d8fd862e..b7a934421 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -311,17 +311,23 @@ int _EXFUN(vsscanf, (const char *__restrict, const char *__restrict, __VALIST) * Routines in POSIX 1003.1:2001. */ -#ifndef __STRICT_ANSI__ +#if !defined(__STRICT_ANSI__) || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #ifndef _REENT_ONLY FILE * _EXFUN(fdopen, (int, const char *)); #endif int _EXFUN(fileno, (FILE *)); -int _EXFUN(getw, (FILE *)); int _EXFUN(pclose, (FILE *)); FILE * _EXFUN(popen, (const char *, const char *)); -int _EXFUN(putw, (int, FILE *)); +#endif + +#if !defined(__STRICT_ANSI__) || __BSD_VISIBLE void _EXFUN(setbuffer, (FILE *, char *, int)); int _EXFUN(setlinebuf, (FILE *)); +#endif + +#if !defined(__STRICT_ANSI__) || __BSD_VISIBLE || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 +int _EXFUN(getw, (FILE *)); +int _EXFUN(putw, (int, FILE *)); int _EXFUN(getc_unlocked, (FILE *)); int _EXFUN(getchar_unlocked, (void)); void _EXFUN(flockfile, (FILE *)); @@ -329,7 +335,7 @@ int _EXFUN(ftrylockfile, (FILE *)); void _EXFUN(funlockfile, (FILE *)); int _EXFUN(putc_unlocked, (int, FILE *)); int _EXFUN(putchar_unlocked, (int)); -#endif /* ! __STRICT_ANSI__ */ +#endif /* * Routines in POSIX 1003.1:200x. |