Permalink
Commits on Apr 22, 2013
  1. Stop using forward-referencing types when streaming LLVM code

    Peter Wortmann committed Apr 22, 2013
    It seems that newer LLVM versions forbid this. So now we just temporarily
    cast to i8* for forward-references.
Commits on Jan 14, 2013
Commits on Jan 12, 2013
  1. add X86_64_GOTTPOFF relocation for errno

    simonmar committed with igfoo Aug 20, 2012
    Submitted by: Markus Pfeiffer <markus.pfeiffer@morphism.de> on cvs-ghc
Commits on Jan 4, 2013
  1. Fix build for 7.6 branch

    igfoo committed Jan 4, 2013
  2. Fix bug in External Core pretty printer (fixes Trac #7547)

    simonpj committed with igfoo Jan 2, 2013
    This bug was making GHC loop when printing external core from test T7239.
  3. Set DBLATEX_OPTS to -P 'filename.as.url=0' (fixes #7486)

    igfoo committed Jan 4, 2013
    Apparently this fixes the build with dblatex 0.3.4.
Commits on Jan 3, 2013
  1. Pass the correct inst_tys argument to dataConCannotMatch, in mkRecSel…

    simonpj committed with igfoo Dec 19, 2012
    …Binds
    
    This fixes Trac #7503.
  2. Fix TcUnify.matchExpectedTyConApp so that it returns types of compati…

    simonpj committed with igfoo Dec 19, 2012
    …ble kinds
    
    This fixes Trac #7368. The problem was that we were matching
       Bad w ~ f (Bad f)
    where (f :: * -> *).  Thta leads to (w ~ Bad f), which is
    ill-kinded, but matchExpectedTyConApp was returning the (Bad f)
    as the argument type, and that was being used to instanatiate
    w in the data constructor type, which is very bad.
    
    The code also becomes simpler and easier to understand, which is
    an excellent thing.
  3. Revert "MERGED: Fix a bug in the handling of nested orElse"

    igfoo committed Jan 3, 2013
    This reverts commit 5ea4927.
Commits on Dec 14, 2012
  1. Fix #7487

    dreixel committed with igfoo Dec 7, 2012
    Signed-off-by: Jose Pedro Magalhaes <jpm@cs.ox.ac.uk>
  2. MERGED: Fix a bug in the handling of nested orElse

    igfoo committed Dec 14, 2012
        commit f184d9c
        Author: Simon Marlow <marlowsd@gmail.com>
        Date:   Mon Dec 10 12:00:54 2012 +0000
    
        Fix a bug in the handling of nested orElse
    
        Exposed by the following snippet, courtesy of Bas van Dijk and Patrick
        Palka on libraries@haskell.org:
    
        import Control.Concurrent.STM
        main = do
          x <- atomically $ do
                 t <- newTVar 1
                 writeTVar t 2
                 ((readTVar t >> retry) `orElse` return ()) `orElse` return ()
                 readTVar t
          print x
Commits on Dec 13, 2012
  1. Prevent aliases from causing name collisions

    scpmw committed Dec 13, 2012
    Really should have seen this one coming. Dollar suffixes should be safe
    to the best of my knowledge.
Commits on Dec 7, 2012
  1. Stop attempting to "trim" data types in interface files

    simonpj committed with igfoo Dec 6, 2012
    Without -O, we previously tried to make interface files smaller
    by not including the data constructors of data types.  But
    there are a lot of exceptions, notably when Template Haskell is
    involved or, more recently, DataKinds.
    
    However Trac #7445 shows that even without TemplateHaskell, using
    the Data class and invoking Language.Haskell.TH.Quote.dataToExpQ
    is enough to require us to expose the data constructors.
    
    So I've given up on this "optimisation" -- it's probably not
    important anyway.  Now I'm simply not attempting to trim off
    the data constructors.  The gain in simplicity is worth the
    modest cost in interface file growth, which is limited to the
    bits reqd to describe those data constructors.
    
    Conflicts:
    	compiler/main/TidyPgm.lhs
  2. Release notes update

    igfoo committed Dec 7, 2012
  3. Document promotion of existential data types

    simonpj committed with igfoo Dec 5, 2012
    Thanks to Richard Eisenberg for writing this.
  4. Allow existential data constructors to be promoted

    simonpj committed with igfoo Dec 5, 2012
    This reverts the change in Trac #7347, which prevented promotion
    of existential data constructors.  Ones with constraints in
    their types, or kind polymorphism, still can't be promoted.
  5. More release notes

    igfoo committed Dec 7, 2012
  6. Start on release notes for 7.6.2

    igfoo committed Dec 7, 2012
Commits on Dec 3, 2012
  1. Fix Trac #7453 on the 7.6 branch

    simonpj committed Dec 3, 2012
    This patch fixes a quite egregious bug. runTcS was intialising
    the 'untouchables' to NoUntouchables, which is quite wrong for
    the invocation in TcSimplify.simplifyInfer.  Result: missed
    skolem-escape check and seg-fault city.
    
    All this is done differently, and better, in HEAD, so this
    patch is needed only on the branch.
Commits on Dec 2, 2012
  1. On Win64, mark executables as not supporting bigaddr; fixes #7134

    igfoo committed Dec 2, 2012
    This is a kludge, and means that ghc/haddock won't be able to use
    more than 2G of RAM. But it'll make sure that ghci works in the short
    term while we work on a proper fix.
Commits on Nov 29, 2012
  1. Improve kind inference for tuple types

    simonpj committed with igfoo Nov 26, 2012
    Trac #7410 pointed out a terrible error message, which is
    much improved by this patch.
    
    Conflicts:
    	compiler/typecheck/TcHsType.lhs
  2. Make Constraint and * look identical in Core (System FC)

    simonpj committed with igfoo Nov 26, 2012
    Fixes Trac #7451. See Note [Kind Constraint and kind *] in Kind.lhs.
    
    Conflicts:
    	compiler/types/Kind.lhs
    	compiler/types/Type.lhs
  3. Only promote *non-existential* data constructors

    simonpj committed with igfoo Oct 19, 2012
    I don't konw how this was left out before; Trac #7347.
    
    In fixing this I did the usual round of refactoring.  In particular, I
    cached the fact that a DataCon can be promoted in the DataCon
    itself (the dcPromoted field).
  4. MERGED: Compare the kinds of type variables when comparing types

    igfoo committed Nov 29, 2012
        commit 2c207b6
    
        Author: Simon Peyton Jones <simonpj@microsoft.com>
        Date:   Tue Oct 2 18:11:08 2012 +0100
    
        Compare the kinds of type variables when comparing types
    
        This is just a bug that's been around since we introduced
        polymorphic kinds.  The roots are in Type.cmpTypeX, but
        there was a variant in TcRnDriver.checkBootTyCon, which
        is where it came up.
    
        Fixes Trac #7272
  5. MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings fr…

    igfoo committed Nov 29, 2012
    …om dsRule
    
        commit 419af69
        Author: Simon Peyton Jones <simonpj@microsoft.com>
        Date:   Tue Oct 2 17:39:46 2012 +0100
    
        Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
    
        See Trac #7287