From: Yaakov Selkowitz Date: Tue, 13 Jun 2017 19:51:18 +0000 (-0500) Subject: stdio.h: guard function macros with !__cplusplus X-Git-Tag: newlib-snapshot-20170623~18 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=c347bb64697a380b749ff073dfa25e35c73c19e7;p=newlib-cygwin.git stdio.h: guard function macros with !__cplusplus While POSIX allows these functions to also be defined as macros in C, in C++ this is not allowed, and prevents these names (particularly feof) from being used in a custom namespace. Signed-off-by: Yaakov Selkowitz --- diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index 097b0f665..1c32423d3 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -718,6 +718,7 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) #define __sfileno(p) ((p)->_file) +#ifndef __cplusplus #ifndef _REENT_SMALL #define feof(p) __sfeof(p) #define ferror(p) __sferror(p) @@ -740,6 +741,7 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { #define putc(x, fp) __sputc_r(_REENT, x, fp) #endif /* lint */ #endif /* __CYGWIN__ */ +#endif /* __cplusplus */ #if __MISC_VISIBLE /* fast always-buffered version, true iff error */