This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: stdio.h patches for g++ -std=c++11


On May  9 12:01, zosrothko wrote:
> Corinna
> Le 09/05/2014 10:43, Corinna Vinschen a Ãcrit :
> >On May  9 07:52, zosrothko wrote:
> >>Hi Corinna
> >>
> >>I made a typo in my previous patch. Here the corrected one.
> >Thanks.  Your patches are missing a matching ChangeLog entry, btw.
> >
> >However, on second thought I'm not sure that removing the 'i' variations
> >of the functions from "__cplusplus >= 201103L" in this way is such a
> >good idea.
> >
> >The 'i' functions are a newlib extension for embedded targets.
> >
> >They are not part of any standard, so they are certainly neither part
> >of "__cplusplus >= 201103L", nor part of "__STDC_VERSION__ >= 199901L".
> >
> >So, either we remove these functions from both standards, or we include
> >them in both standards.
> >
> >But if we remove them from both standards when will they be defined at
> >all?  This should be cleared up before making this change.
> >
> >Is defining them with only
> >
> >   #if !defined(__STRICT_ANSI__)
> >
> >sufficient?
> That won't work because of this
> 
> $ g++ -xc++ -std=c++11 -dM -E - < /dev/null | sort | grep ANSI
> #define __STRICT_ANSI__ 1
> 
> $ g++ -xc++ -std=gnu++11 -dM -E - < /dev/null | sort | grep ANSI

Are you sure?  Your example seems to indicate that

  #if !defined(__STRICT_ANSI__)

is ok for the 'i' functions.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Attachment: pgpQzq6D7JRm5.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]