Re: [Boost-bugs] [Boost C++ Libraries] #13148: Zero value cannot be converted from cpp_dec_float_50 to cpp_rational

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #13148: Zero value cannot be converted from cpp_dec_float_50 to cpp_rational
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-08-15 17:08:13


#13148: Zero value cannot be converted from cpp_dec_float_50 to cpp_rational
------------------------------------+----------------------------
  Reporter: Lev Sch <zorechfan@…> | Owner: John Maddock
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: multiprecision
   Version: Boost 1.64.0 | Severity: Problem
Resolution: | Keywords:
------------------------------------+----------------------------

Comment (by Jacob Garber <jgarber1@…>):

 Compiling with `-fsanitize=undefined` reveals an integer overflow:

 {{{
 /usr/local/include/boost/multiprecision/detail/generic_interconvert.hpp:433:22:
 runtime error: negation of -2147483648 cannot be represented in type
 'typename cpp_dec_float<50, int, void>::exponent_type' (aka 'int'); cast
 to an unsigned type to negate this value to itself
 }}}

 I can't reproduce with 1.63. It looks like this was introduced in the fix
 for #12625.

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13148#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-08-15 17:15:04 UTC