Commits on Apr 3, 2013
  1. @simonpj
  2. @simonpj

    Fix Trac #7804, about floating equalites

    We float unsolved equalities from underneath a 'forall', to
    help solve them, in TcSimplify.floatEqualities.
    It's regrettably delicate though,as this bug shows. I'm not
    happy with the new code; but there are copious notes; see
    Note [Float equalities from under a skolem binding].
    simonpj committed Apr 3, 2013
  3. @simonpj
  4. @simonpj

    This changes fixes a bad error in canonicalisation, concerning kind e…

    We care careful not to construct a canonical equality whose LHS and RHS
    have incompatible kinds.  (This is one of the invariants of a canonical
    equality.)  See Note [Equalities with incompatible kinds].  However,
    what I had not dealt with is when LHS and RHS *look* as if they have
    different kinds, but after zonking they become the same.  Bad!
    (This led to an ASSERT failure in the test for Trac #7176.)
    simonpj committed Apr 3, 2013
  5. @igfoo

    In, include v in GhcLibWays even if DYNAMIC_GHC_PROGR…

    …AMS is set
    Although it's not technically needed, it's less confusing if the vanilla
    way works when people use the sample
    igfoo committed Apr 3, 2013
  6. @igfoo

    Fix installation

    The build system thought that the RTS built more library files than
    it actually did, and installation failed when we tried to 'strip'
    one of these non-existant files.
    igfoo committed Apr 3, 2013
Commits on Mar 29, 2013
  1. @thoughtpolice

    Make sure mentions that make can build in parallel.

    Signed-off-by: Austin Seipp <>
    thoughtpolice committed Mar 29, 2013
  2. @thoughtpolice
  3. @thoughtpolice

    Revert "Wibble."

    This reverts commit e7ca132.
    thoughtpolice committed Mar 29, 2013
  4. @thoughtpolice


    Signed-off-by: Austin Seipp <>
    thoughtpolice committed Mar 29, 2013
  5. @thoughtpolice

    Make sure mentions that make can build in parallel.

    Signed-off-by: Austin Seipp <>
    thoughtpolice committed Mar 29, 2013
  6. ticky enhancements

      * the new StgCmmArgRep module breaks a dependency cycle; I also
        untabified it, but made no real changes
      * updated the documentation in the wiki and change the user guide to
        point there
      * moved the allocation enters for ticky and CCS to after the heap check
        * I left LDV where it was, which was before the heap check at least
          once, since I have no idea what it is
      * standardized all (active?) ticky alloc totals to bytes
      * in order to avoid double counting StgCmmLayout.adjustHpBackwards
        no longer bumps ALLOC_HEAP_ctr
      * I resurrected the SLOW_CALL counters
        * the new module StgCmmArgRep breaks cyclic dependency between
          Layout and Ticky (which the SLOW_CALL counters cause)
        * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL
      * added ALLOC_RTS_ctr and _tot ticky counters
        * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info
        * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and
        * added -ticky and -DTICKY_TICKY in for debug ways
      * added a ticky counter for total LNE entries
      * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE
        * all off by default
        * -ticky-allocd: tracks allocation *of* closure in addition to
           allocation *by* that closure
        * -ticky-dyn-thunk tracks dynamic thunks as if they were functions
        * -ticky-LNE tracks LNEs as if they were functions
      * updated the ticky report format, including making the argument
        categories (more?) accurate again
      * the printed name for things in the report include the unique of
        their ticky parent as well as if they are not top-level
    Nicolas Frisby committed Mar 6, 2013
Commits on Mar 28, 2013
  1. improve dead code elimination in CorePrep (fixes #7796)

    Nicolas Frisby committed Mar 27, 2013
  2. @amosr

    Fix non-termination of SpecConstr (see #5550).

    ForceSpecConstr will now only specialise recursive types a finite number of times.
    There is a new option -fspec-constr-recursive, with a default value of 3.
    amosr committed Mar 28, 2013
Commits on Mar 27, 2013
  1. @simonpj
  2. @simonpj

    Comment only

    simonpj committed Mar 27, 2013
  3. @simonpj

    Comment typo

    simonpj committed Mar 13, 2013
Commits on Mar 25, 2013
  1. @ezyang

    Heap profiling: flush .hp file at the end of each frame

    Takano Akio committed with ezyang Feb 15, 2013
Commits on Mar 24, 2013
  1. @pgj
  2. @igfoo

    Fix the names of the libffi archives

    Fixes a bug which meant that they weren't getting installed.
    igfoo committed Mar 24, 2013
Commits on Mar 23, 2013
  1. @igfoo

    Change how we handle libffi

    I think overall the new approach is simpler. Rather than unpacking
    the libffi.a and putting the .o files into our libHSrts.a, we just
    use the libffi.a.
    This change also means that when compiling programs for the dyn
    way, they get explicitly linked against (rather than
    relying on being linked against it). This might
    fix a problem on FreeBSD, where programs cannot find
    igfoo committed Mar 23, 2013
  2. @igfoo

    Small refactoring

    igfoo committed Mar 23, 2013
  3. @igfoo

    Tweak the _HC_OPTS variables

    We no longer pass -hisuf/-osuf flags to "ghc -M". Doing so didn't really
    make sense with the way the -dep-suffix flags now work.
    igfoo committed Mar 23, 2013
Commits on Mar 22, 2013
  1. @igfoo
  2. @igfoo

    Turn object splitting off when we use the dynamic way

    There's no point splitting objects when we're going to be dynamically
    linking. Plus it breaks compilation on OSX x86.
    igfoo committed Mar 22, 2013
Commits on Mar 21, 2013
  1. @igfoo

    Remove some more old, unused code

    igfoo committed Mar 21, 2013
Commits on Mar 20, 2013
  1. @ggreif

    Track subrepos Cabal

    ggreif committed Mar 20, 2013
  2. @igfoo

    Fix build with non-Linux ELF OSes

    We were only setting an RPATH for the RTS DLL on Linux, but as far
    as I can see we should be doing it for all ELF OSes. Hopefully this
    will fix the problem where the installed ghc-pkg can't find libffi.dll
    on FreeBSD.
    igfoo committed Mar 20, 2013
Commits on Mar 19, 2013
  1. @igfoo
  2. @igfoo

    Fix building when $(CC_STAGE0) contains spaces

    Spotted by Bill Tutt
    igfoo committed Mar 19, 2013
  3. @igfoo

    Be more optimistic about which platforms support shared libraries

    Pretty much everything does now, so list those that don't instead
    instead of listing those that do.
    igfoo committed Mar 19, 2013
  4. @igfoo

    Optimistically assume that LD_LIBRARY_PATH works for all platforms

    other than Windows and OS X.
    It's known to work on Linux and FreeBSD.
    igfoo committed Mar 19, 2013
  5. @igfoo
  6. @igfoo
Commits on Mar 18, 2013
  1. @igfoo

    Add support for OSX ld's -filelist flag

    Without it, when linking the split objects for Language.Haskell.TH.Syntax,
    the commandline was too long when listing all the files directly.
    igfoo committed Mar 18, 2013