Boost logo

Boost :

From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2004-03-12 14:34:36


On Fri, 12 Mar 2004 18:39:30 +0100, Gennaro Prota
<gennaro_prota_at_[hidden]> 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.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk