[Boost-bugs] [Boost C++ Libraries] #10924: conversion of float/double to cpp_dec_float_100 causes hang before main() on cygwin

Subject: [Boost-bugs] [Boost C++ Libraries] #10924: conversion of float/double to cpp_dec_float_100 causes hang before main() on cygwin
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-09 21:08:55


#10924: conversion of float/double to cpp_dec_float_100 causes hang before main()
on cygwin
-----------------------------------+----------------------------
 Reporter: anonymous | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: multiprecision
  Version: Boost 1.57.0 | Severity: Problem
 Keywords: cygwin multiprecision |
-----------------------------------+----------------------------
 It looks like g++ generates bad code for:

 {{{
 cpp_dec_float_100 x = 1.0;
 }}}

 A program with this line hangs with full cpu usage, never entering main().
 If 1.0 is replaced with an integer the problem disappears.

 I'm using x86_64-pc-cygwin-g++ version 4.8.3, compiling with:
 {{{
 g++ -g -o gcc_bug_test1 gcc_bug_test1.cpp -I "$BOOST_PATH"
 }}}
 on a fresh install using setup-x86_64.exe with mirror cs.vt.edu.

 gcc_bug_test1.cpp :
 {{{
 #include <iostream>
 #include <boost/multiprecision/cpp_dec_float.hpp>

 using namespace std;
 namespace mp = boost::multiprecision;

 int main(int argc, char *argv[])
 {
         mp::cpp_dec_float_100 x = 1.0; // -3;
         return 0;
 }

 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10924>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC