diff --git a/testsuite/tests/simplCore/should_compile/T10602.hs b/testsuite/tests/simplCore/should_compile/T10602.hs new file mode 100644 index 0000000000000000000000000000000000000000..fc2523d33e5954cca3796ed42ff598b2f837b4b4 --- /dev/null +++ b/testsuite/tests/simplCore/should_compile/T10602.hs @@ -0,0 +1,34 @@ +import Control.Monad +import Data.Binary +import Data.List + +newtype A a = A [a] + +instance Binary a => Binary (A a) where + put (A xs) = case splitAt 254 xs of + (_, []) -> mapM_ put xs + (a, b) -> put (A b) + + get = do xs <- replicateM 254 get + A ys <- get + return $ A $ xs ++ ys + +main :: IO () +main = undefined + +{- +This intermittently failed with although I was never able to reliably reproduce, + +$ ./inplace/bin/ghc-stage2 -O2 Test.hs -fforce-recomp +[1 of 1] Compiling Main ( Test.hs, Test.o ) +ghc-stage2: panic! (the 'impossible' happened) + (GHC version 7.10.1.20150708 for x86_64-unknown-linux): + Template variable unbound in rewrite rule + sg_s5zh + [sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi] + [sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi] + [: @ a_a3fv sc_s5zf sc_s5zg] + [: @ a_a3fv sc_s5zb sc_s5zc] + +Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug +-} diff --git a/testsuite/tests/simplCore/should_compile/all.T b/testsuite/tests/simplCore/should_compile/all.T index 30c63cf17aceb30048d84405a270aad5a0711541..84e9c6ddef83932699c68baf5d4deb0a4f2abf4f 100644 --- a/testsuite/tests/simplCore/should_compile/all.T +++ b/testsuite/tests/simplCore/should_compile/all.T @@ -210,3 +210,4 @@ test('T9400', only_ways(['optasm']), compile, ['-O0 -ddump-simpl -dsuppress-uniq test('T9583', only_ways(['optasm']), compile, ['']) test('T9565', only_ways(['optasm']), compile, ['']) test('T10176', only_ways(['optasm']), compile, ['']) +test('T10602', only_ways(['optasm']), compile, ['-O2'])