
On Fri, 12 Mar 2004 18:39:30 +0100, Gennaro Prota <gennaro_prota@yahoo.com> wrote:
Intel C++ for Windows never stops surprising me with its Microsoft bugtibility conundrums. When you use /Qms0 (version 8.0) it defines _MSC_VER to be 1200, as if it emulated VC++6! This tricks up the code in config/stdlib/dinkumware.hpp to define
# define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET
However the two-arg version of use_facet is deprecated and marked as such with __declspec(deprecated). Attached is an obvious patch to fix the problem.
Thinking at it again, my patch by-passes BOOST_NO_STDC_NAMESPACE and BOOST_NO_EXCEPTION_STD_NAMESPACE too. Is that ok? If not, the fix would be: # if (defined(_MSC_VER) && (_MSC_VER < 1300)) && !defined(__BORLANDC__) # if BOOST_INTEL_CXX_VERSION < 800 // <--- # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET # endif // C lib functions aren't in namespace std either: # define BOOST_NO_STDC_NAMESPACE // and nor is <exception> # define BOOST_NO_EXCEPTION_STD_NAMESPACE # endif Sorry if I didn't think to this before. -- Genny.