On Tue, Oct 28, 2008 at 10:43:51AM -0700, Bill Sommerfeld wrote:

> On Tue, 2008-10-28 at 17:11 +0000, John Levon wrote:
> > Yes, but uttering "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__" is oxymoronic,
> > since you're saying you both want a particular standards environment,
> > and you don't.
> 
> No, it is not oxymoronic.  
> 
> Without __EXTENSIONS__, the headers are to define only those symbols
> required by the standards.

Again, defining such symbols is defined as saying "I am an application
conforming to an XOPEN_SOURCE=x environment" not "I want to see an
XOPEN_SOURCE=x environment". You might not expect this, and indeed I was
suprised by it myself, but that's what it is. You might find it useful
to confirm this with our standards/headers engineers who explained this
to me when I was fixing Python.

> > I suggested in IRC some kind of I_WANT_LATEST define that would always
> > be current (and thus could always break your legacy code) to solve this
> > kind of issue.
> 
> I suspect that if we did define it, I_WANT_LATEST would, under the
> covers, turn into
> 
>       -D__EXTENSIONS__ -D_XOPEN_SOURCE=LARGEST_KNOWN_VALUE

Most likely not. It would require careful header surgery.

> > Fixed the _B_FALSE thing is just papering over the issue IMHO.
> 
> It's one of many details which would need to be fixed in order to have
> an effective I_WANT_LATEST #define

No, since you wouldn't be defining the above, so B_FALSE wouldn't be
turned off in the first place.

regards
john
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to