Re: Mismatch between newlib and glibc regarding fileno
Corinna Vinschen <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On Feb 12 17:33, Corinna Vinschen wrote: > On Feb 12 16:36, Torbjorn SVENSSON wrote: > > Okay, so newlib is more restrictive than glibc on this topic. > > I will prepare a patch for test cases in GCC with defining _POSIX_SOURCE so > > that the test cases succeed for newlib. > > It looks like it. But I do wonder if that's really intended by glibc. > I ran a quick test, first under newlibL > > $ g++ -std=c++98 -E -dM /usr/include/features.h | grep VISIBLE > #define __LARGEFILE_VISIBLE 0 > #define __ISO_C_VISIBLE 1999 > #define __XSI_VISIBLE 0 > #define __GNU_VISIBLE 0 > #define __BSD_VISIBLE 0 > #define __POSIX_VISIBLE 0 > #define __SVID_VISIBLE 0 > #define __ATFILE_VISIBLE 0 > #define __MISC_VISIBLE 0 > > then under glibc: > > $ g++ -std=c++98 -E -dM x.cc | grep '#define __USE' > #define __USE_UNIX98 1 > #define __USE_FORTIFY_LEVEL 0 > #define __USE_ISOC11 1 > #define __USE_ISOC95 1 > #define __USE_ISOC99 1 > #define __USE_XOPEN 1 > #define __USE_XOPEN2K 1 > #define __USE_POSIX199506 1 > #define __USE_GNU 1 > #define __USE_XOPEN2KXSI 1 > #define __USE_XOPEN2K8 1 > #define __USE_POSIX 1 > #define __USER_LABEL_PREFIX__ > #define __USE_MISC 1 > #define __USE_POSIX2 1 > #define __USE_LARGEFILE64 1 > #define __USE_POSIX199309 1 > #define __USE_XOPEN2K8XSI 1 > #define __USE_LARGEFILE 1 > #define __USE_XOPEN_EXTENDED 1 > #define __USE_DYNAMIC_STACK_SIZE 1 > #define __USE_ATFILE 1 > > How is it possible that with -std=c++98, everything and the kitchen sink > is enabled? Is that really correct?!? ...especially since __STRICT_ANSI__ is defined to 1 in this scenario. Corinna