
Yariv Tal writes:
On Visual Studio.NET / VC7.1 the following code:
#include <boost/mpl/long.hpp> #include <climits> boost::mpl::long_<LONG_MAX> lll;
Gives the following warning: ...\boost_1_32_0\boost\mpl\aux_\integral_wrapper.hpp(72) : warning C4307: '+' : integral constant overflow ...\main.cpp(39) : see reference to class template instantiation 'boost::mpl::long_<N>' being compiled with [ N=2147483647 ]
(warning goes on and on...)
Is this a known issue?
Nope.
When would this lead to errornous program behaviour? (maybe never?)
I'm sure you've figured it out, but basically what the compiler is saying here is that 'long<LONG_MAX>::next::value' will yield something different from LONG_MAX + 1. As long as you are not using this value, you're fine.
Are there plans to fix it?
Yes. Expect it to be fixed for 1.33. Thanks for the report, -- Aleksey Gurtovoy MetaCommunications Engineering