id summary reporter owner description type status milestone component version severity resolution keywords cc 8711 cpp_int fails to construct correctly from minimum negative Jan Bouwer John Maddock "A cpp_int fails to construct correctly with the minimum negative value of a (platform dependent?) signed integral type. Example: {{{ template void test_boost_multiprecision() { T negMin = std::numeric_limits::min(); I test1(negMin), test2( negMin + 1 ); --test2; assert( test1 == test2 ); // This fails on my platform for T = long assert( test1 != 0 ); assert( test1 == negMin ); assert( test2 != 0 ); assert( test2 == negMin ); // This fails on my platform for T = long } test_boost_multiprecision(); // Fails on my platform // The following hold for my platform: x86_64-apple-darwin12.4.0, // using: Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) // with: -std=c++11 -stdlib=libc++ // static_assert(std::numeric_limits::min() == std::numeric_limits::min(), ""Ok""); // static_assert(std::numeric_limits::min() == std::numeric_limits::min(), ""Ok""); }}}" Bugs closed Boost 1.55.0 multiprecision Boost 1.53.0 Problem fixed cpp_int negative minimum