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

Reply via email to