On Jun 13 15:00, Yaakov Selkowitz wrote: > 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 > --- > newlib/libc/include/stdio.h | 2 ++ > 1 file changed, 2 insertions(+) > > 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 */ > -- > 2.12.3 ACK to both patches. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat