Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 2001-09-25 06:50:33


>* On MSVC 7, config_test fails in boost_no_exp_func_tem_arg.cxx, although
>the individual test compiles. This is due to the fact that the test uses a
>function template appropriately named 'foo', but earlier tests define a
>class template 'foo' (in another namespace) which breaks the foo<...>(...)
>syntax.

Well spotted, thanks.

>* On MSVC 7, std::allocator is nearly compliant when
>_HAS_MEMBER_TEMPLATES_REBIND is defined to nonzero. The reason that the
test
>fails is that it uses the syntax
>
>a.allocate(p, 0);
>
>(note explicit 0 as a second argument)
>
>whereas the Dinkumware STL (3.06) has
>
> template<class _Other>
> pointer allocate(size_type _Count, const _Other *)
>
>that doesn't accept zeros. Is the literal zero syntax important for
>something in boost?

Not at present, lets ditch it.

>* Related to the above: suffix.hpp automatically defines
>BOOST_NO_STD_ALLOCATOR when BOOST_NO_MEMBER_TEMPLATES is defined; this is
>not the case on MSVC.

OK but we'll have to take care that changes doesn't break something :-)
Probably should be:

# if defined(BOOST_NO_MEMBER_TEMPLATES) &&
!defined(BOOST_MSVC6_MEMBER_TEMPLATES) && !defined(BOOST_NO_STD_ALLOCATOR)
# define BOOST_NO_STD_ALLOCATOR
# endif

>* Shouldn't !defined(BOOST_DISABLE_THREADS) below
>
>#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
> || defined(_PTHREADS)) && !defined(BOOST_DISABLE_THREADS)
># define BOOST_HAS_THREADS
>#endif
>
>be !defined(BOOST_HAS_THREADS)?

Probably:

#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
    || defined(_PTHREADS)) && !defined(BOOST_DISABLE_THREADS) &&
!defined(BOOST_HAS_THREADS)
# define BOOST_HAS_THREADS
#endif

>I can (try to) fix the above if there are no objections.

Please.

- John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/


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