
On Thu, 18 Mar 2004 11:26:37 -0000, "John Maddock" <john@johnmaddock.co.uk> wrote:
Sounds like it's close enough, it might fail for people with VC6 + Intel and an updated Dinkum library,
Why?
but that'll just have to be too bad, changes in mainline cvs now.
Thanks. Now, pardon me if I have other questions (all concerning the part that follows the #if/#endif above): - shouldn't the test for BOOST_STD_EXTENSION_NAMESPACE be based on the *library* version, rather than _MSC_VER? - shouldn't BOOST_NO_STD_ITERATOR_TRAITS test for "real" VC6? <debatable> At the cost of duplicating the definition, maybe it would be clearer to do: #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) // full Dinkum # if REAL_VC6 ... # define BOOST_NO_STD_ITERATOR_TRAITS // <--- # endif #else // old Dinkum ... # define BOOST_NO_STD_ITERATOR_TRAITS // <--- #endif </debatable> - The test for BOOST_NO_STD_LOCALE is really restrictive. Fortunately it only refers to the Dinkum lib shipping with VC7. However if many of our users use Intel C++ with that library then it might be worth to soften it, because it really prevents a lot of code to work. (Well, this is not really a question :)) PS: I'm not one who claims that others do work that he could do. It's just that these issues are a bit delicate and I wanted to see with you if there's any problem I'm missing. After that, I could commit the changes for you, if you like. This also holds for the compiler identification macros, after we agree on the names, of course. I propose: BOOST_COMEAU_CPP or BOOST_COMEAU_COMPILER BOOST_GNU_CPP or BOOST_GNU_COMPILER BOOST_INTEL_CPP or BOOST_INTEL_COMPILER BOOST_MSVC (well, this is a bit inconsistent :( Ideas?) -- Genny.