diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-05-18 10:10:02 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-05-18 10:10:02 +0100 |
commit | b6bf6abe2b5729137391a88c8deb4cc7ed851375 (patch) | |
tree | 20a424d7a54047792ddf11e08979469ab9dd233f /compiler/hsSyn | |
parent | 0fe0c58ee9758f1606ccd12fd04121a08488fb9a (diff) | |
download | haskell-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.lhs | 11 |
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 |