diff options
author | Ian Lynagh <igloo@earth.li> | 2012-06-04 17:59:30 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-06-04 17:59:30 +0100 |
commit | 12e5c1e7d8f75f0626950dca72810829cc05ced6 (patch) | |
tree | 8ac6fc5d584d8c1c7a0bf5c5360a7400d9cebfcc | |
parent | 85c9dd97365e0bc221ac7162166089e8735a32e8 (diff) | |
download | haskell-12e5c1e7d8f75f0626950dca72810829cc05ced6.tar.gz |
Add missing file
-rw-r--r-- | testsuite/tests/codeGen/should_run/setByteArray.hs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_run/setByteArray.hs b/testsuite/tests/codeGen/should_run/setByteArray.hs new file mode 100644 index 0000000000..099376cb4b --- /dev/null +++ b/testsuite/tests/codeGen/should_run/setByteArray.hs @@ -0,0 +1,23 @@ +{-# LANGUAGE BangPatterns, MagicHash, UnboxedTuples #-} +{-# OPTIONS_GHC -Wall #-} + +module Main ( main ) where + +import GHC.Base + +data BA = BA ByteArray# + +-- Checks that setByteArray# works +main :: IO () +main = do BA ba <- IO $ \s0 -> + case newByteArray# 8# s0 of + (# !s1, !mba #) -> + case setByteArray# mba 0# 8# 65# s1 of + !s2 -> + case setByteArray# mba 1# 6# 67# s2 of + !s3 -> + case unsafeFreezeByteArray# mba s3 of + (# s4, ba #) -> (# s4, BA ba #) + let f (I# i) = putStrLn [C# (indexCharArray# ba i)] + mapM_ f [0..7] + |