Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master
http://hackage.haskell.org/trac/ghc/changeset/2c3d47475e69cac5a6672258d4bb6db7a4eebe3d >--------------------------------------------------------------- commit 2c3d47475e69cac5a6672258d4bb6db7a4eebe3d Author: Johan Tibell <johan.tib...@gmail.com> Date: Mon Jan 7 21:35:07 2013 -0800 Fix Word2Float# test on 32-bit >--------------------------------------------------------------- driver/testlib.py | 6 ++++++ .../should_run/{Word2Float.hs => Word2Float32.hs} | 8 ++++---- tests/codeGen/should_run/Word2Float32.stdout | 4 ++++ .../should_run/{Word2Float.hs => Word2Float64.hs} | 0 .../{Word2Float.stdout => Word2Float64.stdout} | 0 tests/codeGen/should_run/all.T | 3 ++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/driver/testlib.py b/driver/testlib.py index 4bdcd2d..43a2073 100644 --- a/driver/testlib.py +++ b/driver/testlib.py @@ -342,6 +342,12 @@ def if_wordsize( ws, f ): else: return normal +def unless_wordsize( ws, f ): + if config.wordsize == str(ws): + return normal + else: + return f + def if_msys( f ): if config.msys: return f diff --git a/tests/codeGen/should_run/Word2Float.hs b/tests/codeGen/should_run/Word2Float32.hs similarity index 65% copy from tests/codeGen/should_run/Word2Float.hs copy to tests/codeGen/should_run/Word2Float32.hs index 9fd98d6..62a738a 100644 --- a/tests/codeGen/should_run/Word2Float.hs +++ b/tests/codeGen/should_run/Word2Float32.hs @@ -6,10 +6,10 @@ import GHC.Exts (Double(D#), Float(F#), word2Double#, word2Float#) main :: IO () main = do print (D# (word2Double# 0##)) - -- 9007199254740992 is 2^53, which is the largest integer which - -- can be stored in a 64-bit IEEE floating-point value without - -- loss of precision. - print (D# (word2Double# 9007199254740992##)) + -- 4294967295 is 2^32 - 1, the largest 32-bit integer, and can be + -- stored in a 64-bit IEEE floating-point value without loss of + -- precision. + print (D# (word2Double# 4294967295##)) print (F# (word2Float# 0##)) -- 16777216 is 2^24, which is the largest integer which can be -- stored in a 32-bit IEEE floating-point value without loss of diff --git a/tests/codeGen/should_run/Word2Float32.stdout b/tests/codeGen/should_run/Word2Float32.stdout new file mode 100644 index 0000000..f558bbe --- /dev/null +++ b/tests/codeGen/should_run/Word2Float32.stdout @@ -0,0 +1,4 @@ +0.0 +4.294967295e9 +0.0 +1.6777216e7 diff --git a/tests/codeGen/should_run/Word2Float.hs b/tests/codeGen/should_run/Word2Float64.hs similarity index 100% rename from tests/codeGen/should_run/Word2Float.hs rename to tests/codeGen/should_run/Word2Float64.hs diff --git a/tests/codeGen/should_run/Word2Float.stdout b/tests/codeGen/should_run/Word2Float64.stdout similarity index 100% rename from tests/codeGen/should_run/Word2Float.stdout rename to tests/codeGen/should_run/Word2Float64.stdout diff --git a/tests/codeGen/should_run/all.T b/tests/codeGen/should_run/all.T index ef9326e..1a5733d 100644 --- a/tests/codeGen/should_run/all.T +++ b/tests/codeGen/should_run/all.T @@ -100,4 +100,5 @@ test('T7319', [ extra_ways(['prof']), only_ways(['prof']), exit_code(1), req_profiling, extra_hc_opts('-fprof-auto'), extra_run_opts('+RTS -xc') ], compile_and_run, ['']) -test('Word2Float', normal, compile_and_run, ['']) +test('Word2Float32', unless_wordsize(32, skip), compile_and_run, ['']) +test('Word2Float64', unless_wordsize(64, skip), compile_and_run, ['']) _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc