summaryrefslogtreecommitdiff
path: root/compiler/hsSyn
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2012-05-18 10:10:02 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2012-05-18 10:10:02 +0100
commitb6bf6abe2b5729137391a88c8deb4cc7ed851375 (patch)
tree20a424d7a54047792ddf11e08979469ab9dd233f /compiler/hsSyn
parent0fe0c58ee9758f1606ccd12fd04121a08488fb9a (diff)
downloadhaskell-b6bf6abe2b5729137391a88c8deb4cc7ed851375.tar.gz
Allow INLINABLE pragmas in TH
Thanks to mikhail.vorozhtsov for doing the work
Diffstat (limited to 'compiler/hsSyn')
-rw-r--r--compiler/hsSyn/Convert.lhs11
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/hsSyn/Convert.lhs b/compiler/hsSyn/Convert.lhs
index f354fbb403..f4aae3faed 100644
--- a/compiler/hsSyn/Convert.lhs
+++ b/compiler/hsSyn/Convert.lhs
@@ -433,12 +433,13 @@ cvtInlineSpec (Just (TH.InlineSpec inline conlike opt_activation))
cvtRuleMatchInfo False = FunLike
cvtRuleMatchInfo True = ConLike
- inl_spec | inline = Inline
- | otherwise = NoInline
- -- Currently we have no way to say Inlinable
+ inl_spec = case inline of
+ TH.NoInline -> Hs.NoInline
+ TH.Inline -> Hs.Inline
+ TH.Inlinable -> Hs.Inlinable
- cvtActivation Nothing | inline = AlwaysActive
- | otherwise = NeverActive
+ cvtActivation Nothing | inline == TH.NoInline = NeverActive
+ | otherwise = AlwaysActive
cvtActivation (Just (False, phase)) = ActiveBefore phase
cvtActivation (Just (True , phase)) = ActiveAfter phase