Changes to ghc(21) ghc-prim(2)

Changes to ghc:
commit 0c3a1eacb9313c5d7cd8d8802079ad4e78605be0
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Thu Mar 6 12:13:05 2014 +0000

    Test for Trac #8841 now works

    (cherry picked from commit bf9bf602399eca30ca522ae5bae52d4f3ec1ab88)

commit 50af1072cf63f520c8a8b0ba225b2fec1dc6deb1
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Thu Mar 6 11:32:55 2014 +0000

    Attach the right location to pattern synonym error message (fixes Trac #8841)

    (cherry picked from commit 96daafc3305a691590b88c1175a8f45e5d327471)

commit 917e3743a91f7479bbd54963d17d3621cfd064ff
Author: Richard Eisenberg <eir@cis.upenn.edu>
Date:   Thu Mar 13 15:12:27 2014 -0400

    Recharacterize test according to discussion in #8851.

    (cherry picked from commit 8ee6162e9a3377cd4c79f49b63f92046b0d5c708)

    Conflicts:
    	testsuite/tests/deriving/should_compile/all.T

commit 0908f0629a622b259120cbdaac4f7039359f2fb6
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Mon Mar 10 11:08:37 2014 +0000

    Improve documentation of standalone deriving (c.f. Trac #8851)

    (cherry picked from commit 9d14262299fe721e49eb0efadebca9d095c834b3)

commit adbc8c1893c3906cdabbcef2890d0cb3c26da86f
Author: Richard Eisenberg <eir@cis.upenn.edu>
Date:   Thu Mar 6 23:44:57 2014 -0500

    Test #8851.

    (cherry picked from commit 1ac91146dc3431742eafd33ed4afc552ca17fb64)

    Conflicts:
    	testsuite/tests/deriving/should_compile/all.T

commit c8418d1888441f64941d84bac657b6f64445ed70
Author: Ben Gamari <bgamari.foss@gmail.com>
Date:   Thu Mar 6 21:20:02 2014 +0100

    DriverPipeline: Ensure -globalopt is passed to LLVM opt

    While -O1 and -O2 both include -globalopt, the order in which the passes are
    run means that aliases aren't resolved which then causes llc to fall over.
    See GHC bug #8855.

    Signed-off-by: Austin Seipp <austin@well-typed.com>
    (cherry picked from commit b84b5da4430aacd5bf8422b06a861cd0584f99cf)

commit aa8549ff4eff1ca28011e530b096f81934bc5d1b
Author: Karel Gardas <karel.gardas@centrum.cz>
Date:   Fri Mar 7 11:36:37 2014 +0100

    disable shared libs on sparc (linux/solaris) (fixes #8857)

    Signed-off-by: Austin Seipp <austin@well-typed.com>
    (cherry picked from commit 623883f1ed0ee11cc925c4590fb09565403fd231)

commit 880d81339a6bbc2d147fe72c1ea59070dd6a9b30
Author: Kyrill Briantsev <kyrab@mail.ru>
Date:   Thu Mar 13 17:00:17 2014 -0500

    Fix incorrect maxStkSize calculation (#8858)

    Signed-off-by: Austin Seipp <austin@well-typed.com>
    (cherry picked from commit b99ace39cb2484bfc2d648b55a1a43ed78e4b9a0)

commit 08fede0fe0ff3af4b59b965b172403af0146a460
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Mon Mar 10 11:10:21 2014 +0000

    Unify, rather than match, in GND processing (fixes Trac #8865)

    Yet another small way in which polymorphic kinds needs a bit of care
    See Note [Unify kinds in deriving] in TcDeriv

    (cherry picked from commit f521a26cb741409011137115d17232df901c3c94)

    Conflicts:
    	testsuite/tests/deriving/should_compile/all.T

commit 24e738787feaf024f47251196763f6d6b23565b8
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Thu Mar 13 12:13:49 2014 +0000

    Export runTcInteractive from TcRnDriver, and from GHC (Trac #8878)

    (cherry picked from commit 60bbc0af79ddfe977d93e271b57c2bc25d3fcde6)

commit a78d60201e126f2533752041538a67385b2a081d
Author: Richard Eisenberg <eir@cis.upenn.edu>
Date:   Thu Mar 13 15:48:56 2014 -0400

    Fix #8884.

    There were two unrelated errors fixed here:
     1) Make sure that only the *result kind* is reified when reifying
        a type family. Previously, the whole kind was reified, which
        defies the TH spec.

     2) Omit kind patterns in equations.

    (cherry picked from commit 8c5ea91d68cdc79b413e05f7dacfd052f5de8c64)

    Conflicts:
    	testsuite/tests/th/all.T

commit e20210668262a0abe3843aa654957420ba5437ef
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Fri Mar 14 12:51:37 2014 +0100

    Document Coercible in the user guide

    as a subsection of "Equality constraints", containing references to the
    module's haddock and to the paper. Fixes #8888

    (cherry picked from commit 1e36a386042248523de69ad6b02c43a6631ed5d0)

commit e2dc02942ba918fab0fca26596882ba2990b8833
Author: Kyrill Briantsev <kyrab@mail.ru>
Date:   Wed Mar 12 14:31:21 2014 -0500

    Fix incorrect blocksize calculation on Win64

    Fixes #8839

    Signed-off-by: Austin Seipp <austin@well-typed.com>
    (cherry picked from commit b7e5d722c6811f34253d8202540dd9b0ec1b6766)

commit 358b3c05dc95f66c61beda2b1b40c2669968b0c5
Author: Richard Eisenberg <eir@cis.upenn.edu>
Date:   Fri Mar 14 15:03:21 2014 -0400

    Remove code reporting issues with Safe Haskell and coerce.

    This is a followup to the fix for #8827, and should be merged
    with that change.

    (cherry picked from commit 7602bd4de901e4304a3a45dca08fc630d1bb5bf2)

commit c00406c0b565823946b0874bd18e568bfce2282c
Author: Richard Eisenberg <eir@cis.upenn.edu>
Date:   Thu Mar 13 14:16:37 2014 -0400

    Remove "Safe mode" check for Coercible instances

    We assume that library authors supply correct role annotations
    for their types, and therefore we do not need to check for
    the availability of data constructors in Safe mode. See
    discussion in #8725. This effectively fixes #8827 and #8826.

    (cherry picked from commit 59722295bb8da8f01d37356fbed6aef7321a8195)

commit af88b5b7ded1904e687de3d2057eb1fa0ff3dfbd
Author: Karel Gardas <karel.gardas@centrum.cz>
Date:   Wed Mar 12 16:14:49 2014 +0100

    fix SHELL makefile variable to be set by the configure script (fixes #8783)

    The patch provided by Christian Maeder <Christian.Maeder@dfki.de>
    Signed-off-by: Karel Gardas <karel.gardas@centrum.cz>
    Signed-off-by: Austin Seipp <austin@well-typed.com>

    (cherry picked from commit a0bcbb54481297f9ff329766529a8343c4853e3f)

commit 76ba0d6d4748d9cc00c6486aae8dcb2a8cd6a1c1
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Mar 11 12:47:57 2014 +0000

    Fix last-minute typo in SetLevels commit ef44a4

    Sorry about that...

    (cherry picked from commit 41f803105999ffe51a40d3c72d5994520496b7ea)

commit 9a168d6097e9d08f4e1d399d10a6690d479e6a40
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Mar 11 11:13:31 2014 +0000

    Make SetLevels do substitution properly (fixes Trac #8714)

    Nowadays SetLevels floats case expressions as well as let-bindings,
    and case expressions bind type variables.  We need to clone all such
    floated binders, to avoid accidental name capture.  But I'd forgotten
    to substitute for the cloned type variables, causing #8714.  (In the
    olden days only Ids were cloned, from let-bindings.)

    This patch fixes the bug and does quite a bit of clean-up refactoring
    as well, by putting the context level in the LvlEnv.

    There is no effect on performance, except that nofib 'rewrite' improves
    allocations by 3%.  On investigation I think it was a fluke to do with
    loop-cutting in big letrec nests.  But at least it's a fluke in the
    right direction.

            Program           Size    Allocs   Runtime   Elapsed  TotalMem
    --------------------------------------------------------------------------------
                Min          -0.4%     -3.0%    -19.4%    -19.4%    -26.7%
                Max          -0.0%     +0.0%    +17.9%    +17.9%      0.0%
     Geometric Mean          -0.1%     -0.0%     -0.7%     -0.7%     -0.4%

    (cherry picked from commit ef44a429af4a630a153b5774d0e19dbcad8328d5)

commit e5c8d5bc38dd4d3e42911ff3285f830f1b6df856
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Fri Mar 7 16:05:39 2014 +0100

    Run testcase for 8124 only with threaded ways

    (cherry picked from commit 0014fb3dbf4a2096489a4800adf2d79a83a12274)

commit 1fdb9517e99314ddd4139a9f7f0d71f32a13b337
Author: Simon Marlow <marlowsd@gmail.com>
Date:   Sat Mar 1 07:16:44 2014 +0000

    fix copy/pasto

    (cherry picked from commit 176205cf0b89f76d904d381bdcd61e8685116bb7)

commit 7d4540f23df4cb32eaba94c3d574df2a0850b8f4
Author: Simon Marlow <marlowsd@gmail.com>
Date:   Sat Mar 1 07:14:47 2014 +0000

    add missing files (#8124)

    (cherry picked from commit 3fba87599378afbcf425a0fc2a5a61d21e3719d4)

Changes to ghc-prim:
commit ac633f2b92841bbba7c7cb0b9e85b5092a7c80fb
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Fri Mar 14 12:41:46 2014 +0100

    Refer to the coercible paper in Coercible' docs

    Implements parts of #8888.

    (cherry picked from commit fc7aaf57a33ab07b70628c75fcf134fdf4e701e5)

commit a011e6d0ce68e243751d396f39715040b2962bde
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Fri Mar 14 09:26:12 2014 +0100

    Update Coercible docs due to Safe Haskell adjustment

    This should go with [59722295bb8da8f01d37356fbed6aef7321a8195/ghc], see
    bug #8826.

    (cherry picked from commit db4f5e5245d5b24a8f0a06a85ded89c6124fb4c7)