
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