summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2010-03-09 17:27:43 +0000
committersimonpj@microsoft.com <unknown>2010-03-09 17:27:43 +0000
commit011680bdbd73c93f6fd8363aaef93f995ba8f5b1 (patch)
tree05348f5ce75ce38ad94685f2f1e908e77f6d0f83 /compiler
parent0ccb37ab2cc96f6e9cca7fe8fe0889efc13a8a69 (diff)
downloadhaskell-011680bdbd73c93f6fd8363aaef93f995ba8f5b1.tar.gz
Comments only
Diffstat (limited to 'compiler')
-rw-r--r--compiler/basicTypes/BasicTypes.lhs9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/basicTypes/BasicTypes.lhs b/compiler/basicTypes/BasicTypes.lhs
index 4531c912c8..f14ab4d98c 100644
--- a/compiler/basicTypes/BasicTypes.lhs
+++ b/compiler/basicTypes/BasicTypes.lhs
@@ -673,8 +673,13 @@ defaultInlinePragma = InlinePragma { inl_act = AlwaysActive
alwaysInlinePragma = defaultInlinePragma { inl_inline = True }
neverInlinePragma = defaultInlinePragma { inl_act = NeverActive }
-dfunInlinePragma = defaultInlinePragma { inl_rule = ConLike }
-
+
+-- A DFun has an always-active inline activation so that
+-- exprIsConApp_maybe can "see" its unfolding
+-- (However, its actual Unfolding is a DFunUnfolding, which is
+-- never inlined other than via exprIsConApp_maybe.)
+dfunInlinePragma = defaultInlinePragma { inl_act = AlwaysActive
+ , inl_rule = ConLike }
isDefaultInlinePragma :: InlinePragma -> Bool
isDefaultInlinePragma (InlinePragma { inl_act = activation