Ticket #8790 (closed Bugs: fixed)

Opened 4 years ago

Last modified 4 years ago

BOOST_LCAST_HAS_INT128 defined in 32-bit machine using gcc

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


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

comment:1 Changed 4 years ago by apolukhin

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

comment:2 Changed 4 years ago by apolukhin

(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 Changed 4 years ago by apolukhin

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

comment:4 Changed 4 years ago by apolukhin

  • Status changed from new to closed
  • Resolution set to fixed

(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

Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.