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