Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
36 lines (26 sloc) 777 Bytes
-- Author: Simon Meier <iridcode@gmail.com>, 10/06/2010
--
-- Attempt to find a small test-case for the segfaults that happen when
-- compiling the benchmarks with LLVM and GHC-7.0.1
--
module LlvmSegfault where
import Data.Word
import Data.Monoid
import qualified Data.ByteString.Lazy as L
import Foreign
import Blaze.ByteString.Builder.Internal
fromWord8 :: Word8 -> Builder
fromWord8 w =
Builder step
where
step k pf pe
| pf < pe = do
poke pf w
let pf' = pf `plusPtr` 1
pf' `seq` k pf' pe
| otherwise = return $ BufferFull 1 pf (step k)
word8s :: Builder
word8s = map (fromWord8 . fromIntegral) $ [(1::Int)..1000]
main :: IO ()
main =
print $ toLazyByteStringWith 10 10 (mconcat word8s) L.empty
Something went wrong with that request. Please try again.