summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2016-11-02 17:02:14 -0400
committerBen Gamari <ben@smart-cactus.org>2016-11-19 17:55:58 -0500
commit4f7cd81092074dfb86b11d1f01e2c25d1b8820fb (patch)
treeebb810dbf30eb74fd2da37b3ab8f96eccf7dfaf5
parent83fc12593cd45fe1518ff94468c4fb6f26fc3a03 (diff)
downloadhaskell-4f7cd81092074dfb86b11d1f01e2c25d1b8820fb.tar.gz
Add testcase for #12757
Test Plan: Validate, expected to fail Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2665 GHC Trac Issues: #12757 (cherry picked from commit b5460dd6e54f4ba54bfb11469221e8c8f957e964)
-rw-r--r--testsuite/tests/codeGen/should_run/T12757.hs28
-rw-r--r--testsuite/tests/codeGen/should_run/T12757.stdout4
-rw-r--r--testsuite/tests/codeGen/should_run/all.T1
3 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_run/T12757.hs b/testsuite/tests/codeGen/should_run/T12757.hs
new file mode 100644
index 0000000000..148fe7aae7
--- /dev/null
+++ b/testsuite/tests/codeGen/should_run/T12757.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Main (main) where
+
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as B
+
+answers :: [ByteString]
+answers = map (B.filter (/= 0x20))
+ [ "e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855"
+ , "d7a8fbb3 07d78094 69ca9abc b0082e4f 8d5651e4 6d3cdb76 2d02d0bf 37c9e592"
+ , "e4c4d8f3 bf76b692 de791a17 3e053211 50f7a345 b46484fe 427f6acc 7ecc81be"
+ , "ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61 f20015ad"
+ , "248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4 19db06c1"
+ , "cf5b16a7 78af8380 036ce59e 7b049237 0b249b11 e8f07a51 afac4503 7afee9d1"
+ , "cdc76e5c 9914fb92 81a1c7e2 84d73e67 f1809a48 a497200e 046d39cc c7112cd0"
+ ]
+
+x, y :: ByteString
+x = "e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855"
+y = B.filter (/= 0x20) x
+
+main :: IO ()
+main = do
+ print (seq x ())
+ print (seq y ())
+ print (length answers)
+ print (seq (head answers) ()) -- segfault!
diff --git a/testsuite/tests/codeGen/should_run/T12757.stdout b/testsuite/tests/codeGen/should_run/T12757.stdout
new file mode 100644
index 0000000000..0c66d1abe1
--- /dev/null
+++ b/testsuite/tests/codeGen/should_run/T12757.stdout
@@ -0,0 +1,4 @@
+()
+()
+7
+()
diff --git a/testsuite/tests/codeGen/should_run/all.T b/testsuite/tests/codeGen/should_run/all.T
index 15ad68bc46..c956733f19 100644
--- a/testsuite/tests/codeGen/should_run/all.T
+++ b/testsuite/tests/codeGen/should_run/all.T
@@ -144,3 +144,4 @@ test('T10870', when(wordsize(32), skip), compile_and_run, [''])
test('PopCnt', omit_ways(['ghci']), multi_compile_and_run,
['PopCnt', [('PopCnt_cmm.cmm', '')], ''])
test('T12433', normal, compile_and_run, [''])
+test('T12757', normal, compile_and_run, [''])