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
