#7557: Default implementation for a type class function missing when profiling 
is
enabled
-----------------------------+----------------------------------------------
Reporter:  JohnWiegley       |          Owner:                  
    Type:  bug               |         Status:  new             
Priority:  normal            |      Component:  Compiler        
 Version:  7.6.1             |       Keywords:                  
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
 Failure:  None/Unknown      |      Blockedby:                  
Blocking:                    |        Related:                  
-----------------------------+----------------------------------------------
 I tried to reduce this to a simpler case, but was unable to produce the
 bug.

 At the following line you'll see the function `loadObject'` defined for
 the type class `Updatable`:

 https://github.com/fpco/gitlib/blob/master/gitlib/Data/Git/Internal.hs#L115

 And on this line I create an instance of the `Updatable` type class, with
 no override for this function:

 https://github.com/fpco/gitlib/blob/master/gitlib/Data/Git/Blob.hs#L47

 All is well until I build with profiling, as follows:
 {{{
     cabal configure                             \
         --enable-tests                          \
         --enable-benchmarks                     \
         --enable-library-profiling              \
         --enable-executable-profiling           \
         --ghc-option=-rtsopts                   \
         --ghc-option=-prof                      \
         --ghc-option=-fprof-auto                \
         --ghc-option=-fprof-auto-calls
     cabal build
 }}}
 When built with profiling, the linker thinks that Blob.hs is trying to
 call another version of `loadObject'`,
 `_gitlibzm0zi5zi3_DataziGitziInternal_loadObjectzq_C1h_cc`, which is not
 defined anywhere.  The default implementation in the type class definition
 is named `_gitlibzm0zi5zi3_DataziGitziInternal_loadObjectzq_C1g_cc`.

 The happens with both 7.4.2 and 7.6.1.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7557>
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