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: Antony Polukhin
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 Antony Polukhin

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

comment:2 Changed 4 years ago by Antony Polukhin

(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 Antony Polukhin

(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 Antony Polukhin

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

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Antony Polukhin.
The resolution will be deleted.

Add Comment

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

Note: See TracTickets for help on using tickets.