Inliner non-termination

Felipe Almeida Lessa felipe.lessa at gmail.com
Wed Sep 7 01:50:27 CEST 2011


On Tue, Sep 6, 2011 at 3:33 PM, Ron Alford <ronwalf at volus.net> wrote:
> It took me about 4-6 hours to track down this bug in my own code
> (#5448) since it required repeatedly bisecting a larger program until
> I had a small testcase.  In the test program, I can get around it with
> {-# NOINLINE funcEq #-}.  In the program it came from, though, FuncEq
> is an imported value, so I have to either compile with -O0, or change
> put the pragma in the imported library, where it will effect a fair
> amount of code that /doesn't/ hit this bug.

This doesn't solve GHC's bug, but can you do something like

  myFuncEq = funcEq
  {-# NOINLINE myFuncEq #-}

and just use myFuncEq everywhere?  This should make the change local
to your module.

Cheers,

-- 
Felipe.



More information about the Glasgow-haskell-users mailing list