|
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