|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-05-03 10:33:28
From: "Doug Gregor" <gregod_at_[hidden]>
> Two questions:
> 1) Does the same construct work in MSVC 6.0?
Beats me. I'm not going back to 6.0. The pain is unsustainable. :-)
> 2) With the addition of &'s in all of the calls, does it pass the
regression
> tests?
* function_test.cpp passes;
* allocator_test.cpp fails, because config.hpp (incorrectly?) defines
BOOST_NO_STD_ALLOCATOR; without the define it passes. [VC 7.0 comes with
Dinkum 3.06 which is 95% standard.]
Unfortunately, std::allocator<>::rebind<> is disabled by default; in
<yvals.h>,
#define _HAS_MEMBER_TEMPLATES_REBIND 0
has to be changed to 1 to allow function_test.hpp to compile without
BOOST_NO_STD_ALLOCATOR.
* function_test_fail1.cpp correctly fails to compile.
* function_test_fail2.cpp correctly fails to compile.
* policy_test.cpp passes.
> In any case, could you send me a patch/diff/updated version so that I can
> merge in the MSVC7 changes?
These results are with the single change: in function.hpp:347 from
function(BOOST_MSVC_INCLUDE(const) Functor f) : base_type(f) {}
to
function(/*BOOST_MSVC_INCLUDE(const)*/ Functor const & f) : base_type(f)
{}
The same change probably has to be applied to function0..function9 - the
tests do not use them directly, so they don't need it.
All this assumes a fixed config.hpp that works with MSVC 7.0, of course. The
current one checks for _MSC_VER <= 1200 - should be 1300.
-- Peter Dimov Multi Media Ltd.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk