Modify

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:

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

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