[GHC] #13977: ExnStr doesn't propagate "outwards"

GHC ghc-devs at haskell.org
Tue Jul 18 15:43:53 UTC 2017


#13977: ExnStr doesn't propagate "outwards"
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 {{{#!patch
 diff --git a/compiler/basicTypes/Demand.hs b/compiler/basicTypes/Demand.hs
 index 95c7b79b4f..d777da63f0 100644
 --- a/compiler/basicTypes/Demand.hs
 +++ b/compiler/basicTypes/Demand.hs
 @@ -1442,7 +1442,8 @@ postProcessDmdResult _              res       = res
  postProcessDmdEnv :: DmdShell -> DmdEnv -> DmdEnv
  postProcessDmdEnv ds@(JD { sd = ss, ud = us }) env
    | Abs <- us       = emptyDmdEnv
 -  | Str _ _   <- ss
 +  | Str VanStr _   <- ss   -- Make sure we don't throw about ExnStrs.
 +                           -- See #13977.
    , Use One _ <- us = env  -- Shell is a no-op
    | otherwise       = mapVarEnv (postProcessDmd ds) env
    -- For the Absent case just discard all usage information
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13977#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list