diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/codeGen/should_compile/T16449_1.hs | 8 | ||||
-rw-r--r-- | testsuite/tests/codeGen/should_compile/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/codeGen/should_run/T16449_2.hs | 9 | ||||
-rw-r--r-- | testsuite/tests/codeGen/should_run/T16449_2.stderr | 1 | ||||
-rw-r--r-- | testsuite/tests/codeGen/should_run/all.T | 1 |
5 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_compile/T16449_1.hs b/testsuite/tests/codeGen/should_compile/T16449_1.hs new file mode 100644 index 0000000000..b1ec71efef --- /dev/null +++ b/testsuite/tests/codeGen/should_compile/T16449_1.hs @@ -0,0 +1,8 @@ +module T16449_1 where + +import Data.Bits (setBit) + +f :: Int +f = foldl setter 0 $ zip [0..] [()] + where + setter v (ix, _) = setBit v ix diff --git a/testsuite/tests/codeGen/should_compile/all.T b/testsuite/tests/codeGen/should_compile/all.T index 547814a0d6..ed7f5f3699 100644 --- a/testsuite/tests/codeGen/should_compile/all.T +++ b/testsuite/tests/codeGen/should_compile/all.T @@ -59,3 +59,5 @@ test('T15155', test('T15155l', when(unregisterised(), skip), makefile_test, []) + +test('T16449_1', normal, compile, ['']) diff --git a/testsuite/tests/codeGen/should_run/T16449_2.hs b/testsuite/tests/codeGen/should_run/T16449_2.hs new file mode 100644 index 0000000000..3424d43e25 --- /dev/null +++ b/testsuite/tests/codeGen/should_run/T16449_2.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE MagicHash #-} + +module Main where + +import GHC.Prim +import GHC.Int + +-- Shift should be larger than the word size (e.g. 64 on 64-bit) for this test. +main = print (I# (uncheckedIShiftL# 1# 1000#)) diff --git a/testsuite/tests/codeGen/should_run/T16449_2.stderr b/testsuite/tests/codeGen/should_run/T16449_2.stderr new file mode 100644 index 0000000000..869a5b0f91 --- /dev/null +++ b/testsuite/tests/codeGen/should_run/T16449_2.stderr @@ -0,0 +1 @@ +T16449_2: Bad shift length 1000 diff --git a/testsuite/tests/codeGen/should_run/all.T b/testsuite/tests/codeGen/should_run/all.T index 6b4d772627..f43ced136c 100644 --- a/testsuite/tests/codeGen/should_run/all.T +++ b/testsuite/tests/codeGen/should_run/all.T @@ -195,3 +195,4 @@ test('T15892', extra_run_opts('+RTS -G1 -A32k -RTS') ], compile_and_run, ['-O']) test('T16617', normal, compile_and_run, ['']) +test('T16449_2', exit_code(1), compile_and_run, ['']) |