From aa7732c503a5ebc7af5d6bc08a07dd76b878ef8c Mon Sep 17 00:00:00 2001 From: Ian Lynagh <ian@well-typed.com> Date: Thu, 29 Nov 2012 16:12:07 +0000 Subject: [PATCH] MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule commit 419af69c1bea2cecce7b4bf58162cbfac81526f2 Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Tue Oct 2 17:39:46 2012 +0100 Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule See Trac #7287 --- compiler/basicTypes/MkId.lhs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index c1127da18f00..acf82c7346ba 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -749,9 +749,14 @@ mkPrimOpId prim_op id = mkGlobalId (PrimOpId prim_op) name ty info info = noCafIdInfo - `setSpecInfo` mkSpecInfo (primOpRules prim_op name) - `setArityInfo` arity + `setSpecInfo` mkSpecInfo (primOpRules prim_op name) + `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, -- GitLab