Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2016-02-04 20:07:44 +0300
committerCorinna Vinschen <corinna@vinschen.de>2016-02-08 12:39:31 +0300
commitc5fee55606ef77b1ec665e2903848cc9c504297c (patch)
treefd972d276cd6662e4d147705e0871be1255f8f5b /newlib/libc/include/stdio.h
parent352cdbb0125fafdf61977bfa299a7214ac885838 (diff)
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/stdio.h')
-rw-r--r--newlib/libc/include/stdio.h14
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.