Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2003-03-30 18:55:57

>From: "Michel André" <michel.andre_at_[hidden]>

> I get the following errors when compiling with the lexical_cast version in
> CVS on MSVC 7.0 do I have to enable wchar_t support on the command line or
> disable it via DISABLE_WIDE_CHAR_SUPPORT or whats the solution.

This problem was reported at the Boost-Users list, as well. It turns out
that testing for MSVC 6, and disabling wide character support in that case,
wasn't enough, as the same needs to be done if MSVC 7 is set to have wchar_t
not as intrinsic type.

I've therefore removed the "BOOST_MSVC <= 1200" test, again, and restored
"BOOST_NO_INTRINSIC_WCHAR_T" test, which used to be, earlier.

The reason the the test for MSVC was used first, was that the config for
Intel C++ also defined BOOST_NO_INTRINSIC_WCHAR_T, regardless of whether it
was the case or not, as the compiler didn't set a macro for it. However, it
appears that the latest version of Intel C++ do get correct wide character
support, when it's enabled.

I've also changed bad_lexical_cast, to return the types used, in
source()/target(), as given in Kevlin's suggestion

As a small change, the warning with MSVC 7 for void * -> bool conversion is
removed, using Kevlin's suggestion

I've run the tests for Intel C++ 7.0 (strict mode), MSVC 7.0 (with and
without wchar_t as intrinsic type), and MSVC 6.0, and it works.

This is now fixed in the CVS.

Thanks for the feedback.



Boost list run by bdawes at, gregod at, cpdaniel at, john at