[1.33] type traits VC8 fixes and the release schedule

What's the timescale for 1.33 at present? I have some VC-8 specific fixes for type traits that hook up the compiler's intrinsic type traits support into our traits classes: these patches make VC8 the first compiler to "just do the right thing" with every single trait. That's a big milestone IMO! Assuming VC8 will be release before Boost-1.34 (which seems likely), I'd like to commit these to cvs, but won't do so if we're too close to release (as long as there's at least 10 days or so to go, then there's enough time to check for possible regressions - especially as only one compiler should be affected - and there are no regressions for me locally with gcc/vc++/borland/intel). Thoughts? Thanks, John.

John Maddock wrote:
What's the timescale for 1.33 at present?
I have some VC-8 specific fixes for type traits that hook up the compiler's intrinsic type traits support into our traits classes: these patches make VC8 the first compiler to "just do the right thing" with every single trait. That's a big milestone IMO!
Assuming VC8 will be release before Boost-1.34 (which seems likely), I'd like to commit these to cvs, but won't do so if we're too close to release (as long as there's at least 10 days or so to go, then there's enough time to check for possible regressions - especially as only one compiler should be affected - and there are no regressions for me locally with gcc/vc++/borland/intel).
Thoughts?
Given the current state of the test matrix and the low risk/high reward, I'd say that it's worth it, especially if you can add it in a way that is easily turned off at the flip of a switch/comment/define. Where is the instrinsic support documented, BTW?

Given the current state of the test matrix and the low risk/high reward, I'd say that it's worth it, especially if you can add it in a way that is easily turned off at the flip of a switch/comment/define.
It's handled by a new preprocessor block in boost/type_traits/intrinsics.hpp: there are some new intrinsics added (because VC8 goes further than our previous best performer: MWCW), and quite a few tests have had to be updated (the new intrinsics actually caught quite a few bugs in our current test cases). But basically yes, it can all be disabled by just commenting out a few lines in intrinsics.hpp. The biggest danger is that I've messed up the preprocessor logic somewhere - but if I have it doesn't affect any compiler I've tested with so far.
Where is the instrinsic support documented, BTW?
Do you mean Microsoft's documentation (http://msdn2.microsoft.com/library/ms177194(en-us,vs.80).aspx) or the type_traits docs? If the latter, then it's all handled by comments inside boost/type_traits/intrinsics.hpp, but it probably should be in the "real" docs as well, I also need to mention that VC8 handles various traits correctly (currently only MWCW gets a mention for that), but I won't commit changes to the docs until I'm sure about the code: type_traits changes do have the habit of jumping up and biting you at the slightest opportunity :-( Anyway I'll go ahead with the change, and if it bytes back too badly, I'll just revert the lot. John.

On May 5, 2005, at 5:32 AM, John Maddock wrote:
What's the timescale for 1.33 at present?
I have some VC-8 specific fixes for type traits that hook up the compiler's intrinsic type traits support into our traits classes: these patches make VC8 the first compiler to "just do the right thing" with every single trait. That's a big milestone IMO!
Assuming VC8 will be release before Boost-1.34 (which seems likely), I'd like to commit these to cvs, but won't do so if we're too close to release (as long as there's at least 10 days or so to go, then there's enough time to check for possible regressions - especially as only one compiler should be affected - and there are no regressions for me locally with gcc/vc++/borland/intel).
Thoughts?
I'm hoping we can release before the end of May, but we have many, many bugs to fix. I think you can sneak in these compiler-specific changes; just please be careful :) Doug
participants (3)
-
Douglas Gregor
-
John Maddock
-
Peter Dimov