This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: Use of _XOPEN_SOURCE?
On Mar 17 11:38, Howland Craig D (Craig) wrote:
> Corinna wrote Wednesday, March 17, 2010 8:33 AM
> > Subject: Re: Use of _XOPEN_SOURCE?
> >
> > I don't know either, but, here's a question. What about values
> between
> > 500 and 600 or between 600 and 700? Shouldn't the code be more
> > forgiving, like this:
> >
> > #if (_XOPEN_SOURCE - 0) >= 700 /* POSIX.1-2008 */
> > #define _POSIX_C_SOURCE 200809L
> > #elif (_XOPEN_SOURCE - 0) >= 600 /* POSIX.1-2001 or 2004 */
> > #define _POSIX_C_SOURCE 200112L
> > #elif (_XOPEN_SOURCE - 0) >= 500 /* POSIX.1-1995 */
> > #define _POSIX_C_SOURCE 199506L
> > #else
> > #define _POSIX_C_SOURCE 2
> > #endif
> >
> I purposely made it exact because as far as I read directly from the
> standards, POSIX requires those exact values for _XOPEN_SOURCE; if
> another value is given for _XOPEN_SOURCE, there is not a pre-determined
> value of _POSIX_C_SOURCE to assign. GLIBC does a < 600 thing, but
> they're taking a liberty not granted by POSIX.
> My proposal does have one "forgiving" feature, put in for the older
> stuff before POSIX began the present method of exact values for
> _XOPEN_SOURCE and replaced the orignal fuzzy _POSIX_SOURCE with
> _POSIX_C_SOURCE:
> #elif (_XOPEN_SOURCE - 0) < 500 /* really old */
> #define _POSIX_C_SOURCE 2
> #endif
> (The value of 2 does not have the same amount of specificity that the
> year/month values do.)
> So, I still think that we should do it as I submitted. If we
> were to do differently, to be a little more forgiving, I propose that
> it should purposely avoid values > 700. If and when POSIX puts put
> a new release, we can add the proper value at that time. (Presumably,
> they'll require 800 for their next release.)
Ok, I checked it in.
Thank you,
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat