From: "naruse (Yui NARUSE)" Date: 2013-05-20T10:22:07+09:00 Subject: [ruby-core:55069] [ruby-trunk - Bug #8358] TestSprintf#test_float test failuer on mingw32 Issue #8358 has been updated by naruse (Yui NARUSE). Assignee changed from naruse (Yui NARUSE) to nobu (Nobuyoshi Nakada) As I wrote in #8299, up to nobu. Our choice will be one of the following: * add _control87(_PC_53, _MCW_PC) (or inline assembler) to some functions * add _control87(_PC_53, _MCW_PC) to Init_Numeric * remove the test ---------------------------------------- Bug #8358: TestSprintf#test_float test failuer on mingw32 https://bugs.ruby-lang.org/issues/8358#change-39443 Author: phasis68 (Heesob Park) Status: Assigned Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: build Target version: current: 2.1.0 ruby -v: ruby 2.1.0dev (2013-05-01) [i386-mingw32] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN I noticed TestSprintf#test_float http://ci.rubyinstaller.org/job/ruby-trunk-x86-test-all/1287/console 1) Failure: TestSprintf#test_float [C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_sprintf.rb:193]: [ruby-dev:42551]. <"0x1p+2"> expected but was <"0x1p+1">. This failure is due to r40404. And Actually, this issue is almost same to bug #8299. ruby_hdtoa function requires 53-bit precision but mingw32 compiler is 64-bit precision. There are 2 possible workarounds. 1. adding -msse2 -mfpmath=sse flag when compiling. 2. adding _control87(_PC_53, _MCW_PC) when running. -- http://bugs.ruby-lang.org/