[GHC] #7944: GHC goes into an apparently infinite loop at -O2

GHC ghc-devs at haskell.org
Sun Aug 2 23:00:12 UTC 2015


#7944: GHC goes into an apparently infinite loop at -O2
-------------------------------------+-------------------------------------
        Reporter:  bos               |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.9
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:  x86_64
 Type of failure:  Compile-time      |  (amd64)
  crash                              |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:  #5550 #8852       |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by amosrobinson):

 Hi,
 I had a go reducing this more. I only have ghc 7.8.3, so would someone be
 able to try this on head?

 {{{
 #!haskell
 module T7944 where

 import GHC.Exts

 -- Force specialisation of "go"
 data SPEC = SPEC | SPEC2
 {-# ANN type SPEC ForceSpecConstr #-}

 -- This is more or less just an ordinary fold
 go :: SPEC -> [a] -> IntMap a -> IntMap a
 go SPEC [] m = m
 go SPEC (_:xs) m
  = go SPEC xs
  -- This would be the "worker function" of the fold
  $ Unary m


 -- Both constructors are necessary, despite only one being used
 data IntMap a = Nil | Unary (IntMap a)

 }}}

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


More information about the ghc-tickets mailing list