Boost logo

Boost :

From: Jonathan Wakely (cow_at_[hidden])
Date: 2005-06-20 05:24:38


On Mon, Jun 20, 2005 at 08:58:12AM +0200, Joaqu?n M? L?pez Mu?oz wrote:

> >Anything that uses Boost.Test is currently failing with gcc-2.95.3, see
> for
> >example: http://tinyurl.com/dkreq
> >I'm not sure if this is a lexical_cast or test lib change that's broken
>
> >things?
>
> Google tells us that GCC 2.95 does not provide char_traits<>::eof(),
> hence the problem.
> I can confirm the attached patch solves the issue. OK to commit?
> A better way to macro-detect the offending platform?

I think the version check should be for any GCC < 3

I think checking BOOST_NO_STD_WSTRING is right, since that will always
get set for libstdc++-v2 (so won't be set if using an early snapshot of
libstdc++-v3 with GCC 2.9x)

jon

> Joaqu?n M L?pez Mu?oz
> Telef?nica, Investigaci?n y Desarrollo

> 157c157,167
> < stream.get() == std::char_traits<char_type>::eof();
> ---
> > stream.get() ==
> > #if defined(__GNUC__) && (__GNUC__==2) && (__GNUC_MINOR__==95) && \
> > defined(BOOST_NO_STD_WSTRING)
> > // GCC 2.95 lacks std::char_traits<>::eof().
> > // We use BOOST_NO_STD_WSTRING to filter out STLport configurations,
> > // which do provide std::char_traits<>::eof().
> >
> > EOF;
> > #else
> > std::char_traits<char_type>::eof();
> > #endif


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