Opened 9 years ago

Closed 9 years ago

#9739 closed Bugs (duplicate)

"-ftrapv" + multiprecision results in crash at startup

Reported by: MaxBarraclough Owned by: John Maddock
Milestone: To Be Determined Component: multiprecision
Version: Boost 1.55.0 Severity: Problem
Keywords: Cc:

Description

If the following file is compiled with g++ or clang++ without using the "-ftrapv" flag, it runs fine, irrespective of which lines are commented out.

If we compile with "-ftrapv", with either of the causes crash lines uncommented, then the program will crash on start-up, before even entering the "main" function. (The crashy code lives in a function which is never called.)

This is true of both g++ and clang++.

I am using Boost 1.55, g++ 4.8.1, clang 3.2, on Mint GNU/Linux, x86-64.

The -ftrapv flag ( described in gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Code-Gen-Options.html#index-ftrapv-2326 (spam-detection forced me to sabotage the link) ) generates traps for signed overflow on addition, subtraction, multiplication operations.

#include <boost/multiprecision/cpp_dec_float.hpp>

#include <boost/version.hpp>

#if ( BOOST_VERSION != 105500 )
  #error Boost 1.55 please
#endif

void neverCalled() {
//boost::multiprecision::cpp_dec_float_100 e;         // ok
//boost::multiprecision::cpp_dec_float_100 f = 42;    // ok
//boost::multiprecision::cpp_dec_float_100 g = 42.0f; // causes crash if -ftrapv is used
  boost::multiprecision::cpp_dec_float_100 h = 42.0;  // causes crash if -ftrapv is used
}

int main() {
  return 0;
}

Change History (2)

comment:1 by MaxBarraclough, 9 years ago

Looks like I submitted twice - this is a duplicate of #9740 ("-ftrapv" + multiprecision results in crash at startup).

(A screenshot is attached to bug 9740 but not to this one.)

comment:2 by John Maddock, 9 years ago

Resolution: duplicate
Status: newclosed

Closing as a duplicate.

Note: See TracTickets for help on using tickets.