summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2012-10-02 17:39:46 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2012-10-02 18:12:24 +0100
commit419af69c1bea2cecce7b4bf58162cbfac81526f2 (patch)
tree0338d17be5a8e99b48d3797ca6c0feb0c444de90 /compiler
parenta501c950652d3cb56335781289f0f502c0cf2f4e (diff)
downloadhaskell-419af69c1bea2cecce7b4bf58162cbfac81526f2.tar.gz
Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
See Trac #7287
Diffstat (limited to 'compiler')
-rw-r--r--compiler/basicTypes/MkId.lhs9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs
index 1805ccd25e..24c40ccdfd 100644
--- a/compiler/basicTypes/MkId.lhs
+++ b/compiler/basicTypes/MkId.lhs
@@ -751,9 +751,14 @@ mkPrimOpId prim_op
id = mkGlobalId (PrimOpId prim_op) name ty info
info = noCafIdInfo
- `setSpecInfo` mkSpecInfo (maybeToList $ primOpRules name prim_op)
- `setArityInfo` arity
+ `setSpecInfo` mkSpecInfo (maybeToList $ primOpRules name prim_op)
+ `setArityInfo` arity
`setStrictnessInfo` Just strict_sig
+ `setInlinePragInfo` neverInlinePragma
+ -- We give PrimOps a NOINLINE pragma so that we don't
+ -- get silly warnings from Desugar.dsRule (the inline_shadows_rule
+ -- test) about a RULE conflicting with a possible inlining
+ -- cf Trac #7287
-- For each ccall we manufacture a separate CCallOpId, giving it
-- a fresh unique, a type that is correct for this particular ccall,