#7277: Recompilation check fails for TH unless functions are inlined
---------------------------------+------------------------------------------
    Reporter:  orenbenkiki       |       Owner:                             
        Type:  bug               |      Status:  new                        
    Priority:  high              |   Milestone:  7.6.2                      
   Component:  Template Haskell  |     Version:  7.4.2                      
    Keywords:                    |          Os:  Unknown/Multiple           
Architecture:  Unknown/Multiple  |     Failure:  Incorrect result at runtime
  Difficulty:  Unknown           |    Testcase:                             
   Blockedby:                    |    Blocking:                             
     Related:  481               |  
---------------------------------+------------------------------------------

Comment(by simonmar):

 Yes, good bug.  I think this is the result of an unsafe optimisation in
 the dependency checker: it currently assumes that if none of the modules
 below the current module were recompiled, then the current module does not
 need to be recompiled, even if it uses TH.  However this ignores the fact
 that other packages may have changed, and we have no way to detect that
 (the hash only records ABI changes, not semantic changes).

 So I'll have to back off from this optimisation and always recompile a
 module that uses TH.  However I can imagine this is going to result in
 complaints from users that things get recompiled even when obviously
 nothing has changed.  Perhaps we could record a hash of the object code
 for a package or something?  Ideas anyone?

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

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to