Opened 4 years ago

Closed 4 years ago

#8790 closed Bugs (fixed)

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".

Attachments (0)

Change History (4)

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

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

(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 Comment

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain apolukhin.
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.