Opened 9 years ago

Closed 9 years ago

#8790 closed Bugs (fixed)

BOOST_LCAST_HAS_INT128 defined in 32-bit machine using gcc

Reported by: Felix Yan <felixonmars@…> Owned by: Antony Polukhin
Milestone: To Be Determined Component: lexical_cast
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

BOOST_LCAST_HAS_INT128 defined in lexical_cast.hpp only considered gcc version > 4.7, but this will fail in 32-bit machines as there's no SIZEOF_INT128 defined, so the #ifdef thing below just fails to lookup "boost::int128_type".

Change History (4)

comment:1 by Antony Polukhin, 9 years ago

(In [84965]) Fix macro for int128 detection (refs #8790)

comment:2 by Antony Polukhin, 9 years ago

(In [85072]) Fixed testing of 128bit integer types and added staic assert that cheks for std::numeric_limits specializations, if they are required for conversion (refs #8790)

comment:3 by Antony Polukhin, 9 years ago

(In [85073]) Get rid of BOOST_LCAST_HAS_INT128 macro and use BOOST_HAS_INT128 instead (refs #8790)

comment:4 by Antony Polukhin, 9 years ago

Resolution: fixed
Status: newclosed

(In [85160]) Merge lexical_cast and some conversion docs and test from trunk:

  • fixed int128 and uint128 conversions (fixes #8790)
  • fixed warnings from Boost Inspection Report
Note: See TracTickets for help on using tickets.