diff options
Diffstat (limited to 'testsuite/tests/codeGen/should_run/3677.hs')
-rw-r--r-- | testsuite/tests/codeGen/should_run/3677.hs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_run/3677.hs b/testsuite/tests/codeGen/should_run/3677.hs new file mode 100644 index 0000000000..67b12b2672 --- /dev/null +++ b/testsuite/tests/codeGen/should_run/3677.hs @@ -0,0 +1,15 @@ +module Main(main) where + +main = print (take 2 (edi2 0)) + +-- In 6.12, edi2 lead to a stack overflow (see #3677) + +edi :: Integer -> [Integer] +edi x | x `mod` 1000000 == 0 = x : edi (x+1) + | otherwise = edi (x+1) + +edi2 :: Integer -> [Integer] +edi2 x | x `mod` 1000000 == 0 = x : y + | otherwise = y + where + y = edi2 (x+1) |