Switch branches/tags
Commits on Nov 8, 2011
  1. Update ANNOUNCE for 7.2.2

    igfoo committed Nov 8, 2011
  2. trust packages when they're installed

    igfoo committed Nov 8, 2011
    For 7.2 we ignore the trust value in the package info we get given,
    and always trust packages
Commits on Nov 3, 2011
  1. Merged: Fix two bugs in caes-floating (fixes Trac #5453)

    igfoo committed Nov 3, 2011
    Changeset bd6f5de
    Author: Simon Peyton Jones <>
    Fix two bugs in caes-floating (fixes Trac #5453)
    The problem is documented in the ticket. The patch
    does two things
    1. Make exprOkForSpeculation return False for a non-exhaustive case
    2. In SetLevels?.lvlExpr, look at the *result* scrutinee, not the
        *input* scrutinee, when testing for evaluated-ness
Commits on Nov 2, 2011
  1. Add release notes for 7.2.2.

    igfoo committed Nov 2, 2011
  2. In instance declarations, the method names are *occurrences* not *bin…

    simonpj committed with igfoo Aug 15, 2011
    A long standing bug. The patch fixes Trac #5410
  3. Fix Trac #5404: looking up signature binders in RnEnv

    simonpj committed with igfoo Aug 15, 2011
    See Note [Looking up Exact RdrNames] in RnEnv
  4. Fix #4988: we were wrongly running exception handlers in the

    simonmar committed with igfoo Aug 31, 2011
    maskUninterruptible state instead of ordinary mask, due to a
    misinterpretation of the way the TSO_INTERRUPTIBLE flag works.
    Remarkably this must have been broken for quite some time.  Indeed we
    even had a test that demonstrated the wrong behaviour (conc015a) but
    presumably I didn't look hard enough at the output to notice that it
    was wrong.
  5. fix race condition in yieldCapability() (#5552)

    simonmar committed with igfoo Oct 24, 2011
    See comment for details.  I've tried quite hard, but haven't been able
    to make a small test case that reproduces the bug.
  6. Fix an x86 code generation bug (#5393). In fact, there were two bugs

    simonmar committed with igfoo Aug 9, 2011
    in X86.CodeGen.getNonClobberedOperand: two code fragments were the
    wrong way around, and we were using the wrong size on an
    instruction (32 bits instead of the word size).  This bit of the code
    generator must have never worked!
Commits on Aug 9, 2011
  1. Set RELEASE back to NO

    igfoo committed Aug 9, 2011
Commits on Aug 7, 2011
Commits on Aug 6, 2011
  1. Fix a long-standing bug in HsUtils.hsTyClDeclBinders

    simonpj committed with igfoo Aug 5, 2011
    We were returning the tycon of a type family *instance*
    as a binder, and it just isn't!
    Consequential tidy-ups follow.  I tripped over this on
    the way to something else.  I'm not sure it was causing
    a problem, but it is Plainly Wrong.
Commits on Aug 5, 2011
  1. Another run at binders in Template Haskell (fixes Trac #5379)

    simonpj committed with igfoo Aug 5, 2011
    TH quotation was using mkName rather than newName for
    top-level definitions, which is plain wrong as #5379
    points out.
  2. typo

    simonmar committed with igfoo Aug 4, 2011
  3. Add a release note about TypeSynonymInstances change of behaviour

    igfoo committed Aug 5, 2011
    As discussed in #5377
Commits on Aug 4, 2011
  1. Add plugin documentation for reinitializeGlobals

    Austin Seipp committed with batterseapower Jul 31, 2011
  2. Revert "Stop using -Wl,-no_pie on OS X"

    igfoo committed Aug 4, 2011
    This reverts commit d02a197.
    Apparently there are still problems with gmp. See #5293 for more details.
  3. Don't duplicate files in bindists; trac #5356

    igfoo committed Aug 4, 2011
    We were putting
    into bindists twice.
  4. Change the representation of export lists in .hi files

    simonpj committed with igfoo Aug 2, 2011
    Currently export list in .hi files are partitioned by module
      export M T(C1,C2)
             N f,g
    In each list we only have OccNames, all assumed to come from
    the parent module M or N resp.
    This patch changes the representatation so that export lists
    have full Names:
      export M.T(M.C1,M.C2), N.f, N.g
    Numerous advatages
      * AvailInfo no longer needs to be parameterised; it always
        contains Names
      * Fixes Trac #5306.  This was the main provocation
      * Less to-and-fro conversion when reading interface files
    It's all generally simpler.  Interface files should not get bigger,
    becuase they have a nice compact representation for Names.
  5. Add CoreMonad.reinitializeGlobals so plugins can work around linker i…

    batterseapower committed with igfoo Jul 29, 2011
    When a plugin is loaded, it currently gets linked against a *newly loaded* copy
    of the GHC package. This would not be a problem, except that the new copy has its
    own mutable state that is not shared with that state that has already been initialized by
    the original GHC package.
    This leads to loaded plugins calling GHC code which pokes the static flags,
    and then dying with a panic because the static flags *it* sees are uninitialized.
    There are two possible solutions:
      1. Export the symbols from the GHC executable from the GHC library and link
         against this existing copy rather than a new copy of the GHC library
      2. Carefully ensure that the global state in the two copies of the GHC
         library matches
    I tried 1. and it *almost* works (and speeds up plugin load times!) except
    on Windows. On Windows the GHC library tends to export more than 65536 symbols
    (see #5292) which overflows the limit of what we can export from the EXE and
    causes breakage.
    (Note that if the GHC exeecutable was dynamically linked this wouldn't be a problem,
    because we could share the GHC library it links to.)
    We are going to try 2. instead. Unfortunately, this means that every plugin
    will have to say `reinitializeGlobals` before it does anything, but never mind.
    I've threaded the cr_globals through CoreM rather than giving them as an
    argument to the plugin function so that we can turn this function into
    (return ()) without breaking any plugins when we eventually get 1. working.
  6. Eliminate localiseLabel

    batterseapower committed Jul 28, 2011