summaryrefslogtreecommitdiff
path: root/compiler/cmm/CmmLint.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2013-07-24 12:49:58 +0100
committerSimon Marlow <marlowsd@gmail.com>2013-07-24 14:30:35 +0100
commitc23488590cd65fa584ddd648cdbab2fa13f5656b (patch)
tree499ed8a8b2cc3ec261f16df03f0c06b1e29aae49 /compiler/cmm/CmmLint.hs
parentbe89c675339982cb53a5e32d6d282410c9c50f7c (diff)
downloadhaskell-c23488590cd65fa584ddd648cdbab2fa13f5656b.tar.gz
Fix a bug in stack layout with safe foreign calls (#8083)
We weren't properly tracking the number of stack arguments in the continuation of a foreign call. It happened to work when the continuation was not a join point, but when it was a join point we were using the wrong amount of stack fixup.
Diffstat (limited to 'compiler/cmm/CmmLint.hs')
-rw-r--r--compiler/cmm/CmmLint.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/cmm/CmmLint.hs b/compiler/cmm/CmmLint.hs
index da7b094643..92a137b98b 100644
--- a/compiler/cmm/CmmLint.hs
+++ b/compiler/cmm/CmmLint.hs
@@ -178,7 +178,7 @@ lintCmmLast labels node = case node of
_ <- lintCmmExpr target
maybe (return ()) checkTarget cont
- CmmForeignCall tgt _ args succ _ _ -> do
+ CmmForeignCall tgt _ args succ _ _ _ -> do
lintTarget tgt
mapM_ lintCmmExpr args
checkTarget succ