#4387: Huge executables with GHC 7
----------------------------------+-----------------------------------------
    Reporter:  daniel.is.fischer  |        Owner:       
        Type:  bug                |       Status:  merge
    Priority:  normal             |    Milestone:  7.0.1
   Component:  Compiler           |      Version:  7.1  
    Keywords:  executable size    |     Testcase:       
   Blockedby:                     |   Difficulty:       
          Os:  Linux              |     Blocking:       
Architecture:  x86                |      Failure:  Other
----------------------------------+-----------------------------------------
Changes (by simonpj):

  * status:  new => merge


Comment:

 OK first part (putting `SpecConstrAnnotation` in `GHC.Exts` is done),
 which is enough for 7.0.  I'll mark this as "merge" for now; then back to
 'new' for part 2!

 {{{
 Mon Oct 18 06:57:46 PDT 2010  simo...@microsoft.com
   * Define SpecConstrAnnotation in GHC.Exts, and import it from there

   Reason: avoid having to link the entire ghc package in modules
   that use compile-time annotations:

        import GHC.Exts( SpecConstrAnnotation )
        {-# ANN type T ForceSpecConstr #-}

   It's a kind of bug that the package exporting SpecConstrAnnotation
   is linked even though it is only needed at compile time, but putting
   the data type declaration in GHC.Exts is a simple way to sidestep
   the problem

   See See Note [SpecConstrAnnotation] in SpecConstr

     M ./compiler/specialise/SpecConstr.lhs -37 +56
 }}}
 There's a similar patch in `base`:
 {{{
 Mon Oct 18 06:58:57 PDT 2010  simo...@microsoft.com
   * Define SpecConstrAnnotation in GHC.Exts, and import it from there

   Reason: avoid having to link the entire ghc package in modules
   that use compile-time annotations:

          import GHC.Exts( SpecConstrAnnotation )
          {-# ANN type T ForceSpecConstr #-}

   It's a kind of bug that the package exporting SpecConstrAnnotation
   is linked even though it is only needed at compile time, but putting
   the data type declaration in GHC.Exts is a simple way to sidestep
   the problem

   See See Note [SpecConstrAnnotation] in SpecConstr

     M ./GHC/Exts.hs -1 +24
 }}}

 Simon

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