diff --git a/libraries/base/tests/T16111.hs b/libraries/base/tests/T16111.hs new file mode 100644 index 0000000000000000000000000000000000000000..241714ea130b11d32ab96979e899a9e5fe87c19d --- /dev/null +++ b/libraries/base/tests/T16111.hs @@ -0,0 +1,13 @@ +module Main (main) where + +import Data.Bits +import Data.Word + +main :: IO () +main = print $ toInteger (shiftL 1 hm :: Word64) + == toInteger (shiftL 1 hm :: Word64) + +hm :: Int +hm = -1 +{-# NOINLINE hm #-} + diff --git a/libraries/base/tests/T16111.stderr b/libraries/base/tests/T16111.stderr new file mode 100644 index 0000000000000000000000000000000000000000..7562f9de58ea53aa345c952705cf047f19455ca7 --- /dev/null +++ b/libraries/base/tests/T16111.stderr @@ -0,0 +1,2 @@ +T16111: arithmetic overflow + diff --git a/libraries/base/tests/all.T b/libraries/base/tests/all.T index 9cb9c958fb2e6d90d0cbeef1d5626196f66b64f7..4ef2f07dd28de6686fd21fa35e2cf208a17c551f 100644 --- a/libraries/base/tests/all.T +++ b/libraries/base/tests/all.T @@ -233,3 +233,4 @@ test('T10412', normal, compile_and_run, ['']) test('T13896', normal, compile_and_run, ['']) test('T13167', fragile_for(16536, ['threaded2']), compile_and_run, ['']) test('T15349', [exit_code(1), expect_broken_for(15349, 'ghci')], compile_and_run, ['']) +test('T16111', exit_code(1), compile_and_run, [''])