1. 06 Mar, 2018 3 commits
    • Ben Gamari's avatar
      Another Cabal submodule bump · 201a5570
      Ben Gamari authored
      201a5570
    • Herbert Valerio Riedel's avatar
      Fixup include of gmp/config.mk to use new location · 57b9a433
      Herbert Valerio Riedel authored
      This wasn't spotted rightaway in
      8f0b2f5e
      because the include-site deliberately ignored include-errors as
      a Hack with the justification below:
      
      > Hack. The file gmp/config.mk doesn't exist yet after running ./configure in
      > the toplevel (ghc) directory. To let some toplevel make commands such as
      > sdist go through, right after ./configure, don't consider this an error.
      
      This may have contributed to #14891.
      
      (cherry picked from commit df7ac37d)
      57b9a433
    • niteria's avatar
      Correct -g flag description · 2df499b4
      niteria authored
      Since 7aaeaf81
      `-g1` and `-g2` are actually different.
      The tutorial below is correct.
      
      Test Plan: harbormaster
      
      Reviewers: bgamari, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D4471
      
      (cherry picked from commit 5b1132eefd0a75189b3527486b492c3dffc7bdf1)
      2df499b4
  2. 04 Mar, 2018 2 commits
  3. 02 Mar, 2018 5 commits
  4. 25 Feb, 2018 3 commits
    • Sergey Vinokurov's avatar
      Fix typo · 739bb3ef
      Sergey Vinokurov authored
      (cherry picked from commit 37e78029845a04d0ab4cc05e1790c648facdcb1f)
      739bb3ef
    • Sergey Vinokurov's avatar
      List 'setEnv' as opposite of 'getEnv' · 1cd5d6cd
      Sergey Vinokurov authored
      It seems best to direct users to use 'System.Environment.setEnv'
      rather than 'System.Posix.Env.putEnv'. This is due to 'setEnv' being
      located in the same module as 'getEnv' and my virtue of working on
      Windows platform, whereas 'putEnv' does not have that quality because
      it's part of the 'unix' package.
      
      (cherry picked from commit c74fcf5d27744c67b09b29a78029c31c9371cf41)
      1cd5d6cd
    • Sergey Vinokurov's avatar
      Fix missing code example in changelog for 8.4.1 · 353ed7d7
      Sergey Vinokurov authored
      (cherry picked from commit 3ae408cf93d10b9a2e5acb4186dc8e0c62e0afb6)
      353ed7d7
  5. 24 Feb, 2018 1 commit
  6. 23 Feb, 2018 1 commit
  7. 20 Feb, 2018 1 commit
  8. 19 Feb, 2018 2 commits
  9. 18 Feb, 2018 11 commits
    • Michal Terepeta's avatar
      CBE: re-introduce bgamari's fixes · af454c45
      Michal Terepeta authored
      During some recent work on CBE we discovered that `zipWith` is used to
      check for equality, but that doesn't quite work if lists are of
      different lengths! This was fixed by bgamari, but unfortunately the fix
      had to be rolled back due to other changes in CBE in
      50adbd7c. Since I wanted to have another
      look at CBE anyway, we agreed that the first thing to do would be to
      re-introduce the fix.
      
      Sadly I don't have any actual test case that would exercise this.
      Signed-off-by: Michal Terepeta's avatarMichal Terepeta <michal.terepeta@gmail.com>
      
      Test Plan: ./validate
      
      Reviewers: bgamari, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14226
      
      Differential Revision: https://phabricator.haskell.org/D4387
      
      (cherry picked from commit 4e513bf7)
      af454c45
    • Ryan Scott's avatar
      Implement stopgap solution for #14728 · c21a8cc2
      Ryan Scott authored
      It turns out that one can produce ill-formed Core by
      combining `GeneralizedNewtypeDeriving`, `TypeInType`, and
      `TypeFamilies`, as demonstrated in #14728. The root of the problem
      is allowing the last parameter of a class to appear in a //kind// of
      an associated type family, as our current approach to deriving
      associated type family instances simply doesn't work well for that
      situation.
      
      Although it might be possible to properly implement this feature
      today (see https://ghc.haskell.org/trac/ghc/ticket/14728#comment:3
      for a sketch of how this might work), there does not currently exist
      a performant implementation of the algorithm needed to accomplish
      this. Until such an implementation surfaces, we will make this corner
      case of `GeneralizedNewtypeDeriving` an error.
      
      Test Plan: make test TEST="T14728a T14728b"
      
      Reviewers: bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14728
      
      Differential Revision: https://phabricator.haskell.org/D4402
      
      (cherry picked from commit 1ede46d4)
      c21a8cc2
    • Ben Gamari's avatar
      Build Haddocks with --quickjump · 01f69997
      Ben Gamari authored
      By request of @alexbiehl.
      CCing @snowleopard and @alpmestan as the same should be done in Hadrian.
      
      Bumps haddock submodule.
      
      Reviewers: alexbiehl
      
      Reviewed By: alexbiehl
      
      Subscribers: rwbarton, thomie, carter, snowleopard, alpmestan, alexbiehl
      
      Differential Revision: https://phabricator.haskell.org/D4365
      
      (cherry picked from commit 9ff4cce3)
      01f69997
    • Ben Gamari's avatar
      Bump text submodule to 1.2.3.0 · ff39d000
      Ben Gamari authored
      ff39d000
    • Ben Gamari's avatar
      Bump haskeline submodule to 0.7.4.2 · 76bd578a
      Ben Gamari authored
      76bd578a
    • Ben Gamari's avatar
      testsuite: Add test for #14768 · 0bdf1b7a
      Ben Gamari authored
      (cherry picked from commit da468130)
      0bdf1b7a
    • Ömer Sinan Ağacan's avatar
      Collect CCs in CorePrep, including CCs in unfoldings · 583e392a
      Ömer Sinan Ağacan authored
      This patch includes two changes:
      
      1. Move cost centre collection from `SCCfinal` to `CorePrep`, to be able
         to collect cost centres in unfoldings. `CorePrep` drops unfoldings, so
         that's the latest stage in the compilation pipeline for this.
      
         After this change `SCCfinal` no longer collects all cost centres, but
         it still generates & collects CAF cost centres + updates cost centre
         stacks of `StgRhsClosure` and `StgRhsCon`s.
      
         This fixes #5889.
      
      2. Initialize cost centre stack fields of `StgRhs` in `coreToStg`. With
         this we no longer need to update cost centre stack fields in
         `SCCfinal`, so that module is removed.
      
         Cost centre initialization explained in Note [Cost-centre
         initialization plan].
      
         Because with -fcaf-all we need to attach a new cost-centre to each
         CAF, `coreTopBindToStg` now returns `CollectedCCs`.
      
      Test Plan: validate
      
      Reviewers: simonpj, bgamari, simonmar
      
      Reviewed By: simonpj, bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #5889
      
      Differential Revision: https://phabricator.haskell.org/D4325
      
      (cherry picked from commit 59574058)
      583e392a
    • Ömer Sinan Ağacan's avatar
      Remove unused extern cost centre collection · ff78b94f
      Ömer Sinan Ağacan authored
      Reviewers: bgamari, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: alexbiehl, rwbarton, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D4309
      
      (cherry picked from commit 2a78cf77)
      ff78b94f
    • Ryan Scott's avatar
      Fix #14811 by wiring in $tcUnit# · 0f78f181
      Ryan Scott authored
      Previously, we were skipping over `$tcUnit#` entirely when
      wiring in `Typeable` tycons, resulting in #14811. Easily fixed.
      
      Test Plan: make test TEST=T14811
      
      Reviewers: bgamari, dfeuer
      
      Reviewed By: dfeuer
      
      Subscribers: dfeuer, rwbarton, thomie, carter
      
      GHC Trac Issues: #14811
      
      Differential Revision: https://phabricator.haskell.org/D4414
      
      (cherry picked from commit d5ac5820)
      0f78f181
    • Ben Gamari's avatar
      base: Fix changelog entry for openTempFile · 43cd969d
      Ben Gamari authored
      This change is present in 4.11.0.0.
      
      (cherry picked from commit abecb2619acea5cf6ebaa7412401d9e660daf82c)
      43cd969d
    • Ben Gamari's avatar
      Bump parsec submodule to 0.3.13.0 · ee31f81f
      Ben Gamari authored
      ee31f81f
  10. 15 Feb, 2018 1 commit
  11. 09 Feb, 2018 1 commit
    • Simon Peyton Jones's avatar
      Fix isDroppableCt (Trac #14763) · f2bb550e
      Simon Peyton Jones authored
      When finishing up an implication constraint, it's a bit tricky to
      decide which Derived constraints to retain (for error reporting) and
      which to discard.  I got this wrong in commit
         f20cf982
         (Remove wc_insol from WantedConstraints)
      
      The particular problem in Trac #14763 was that we were reporting as an
      error a fundep-generated constraint
        (ex ~ T)
      where 'ex' is an existentially-bound variable in a pattern match.
      But this isn't really an error at all.
      
      This patch fixes the problem. Indeed, since I had to understand
      this rather tricky code, I took the opportunity to clean it up
      and document better.  See
        isDroppableCt :: Ct -> Bool
      and Note [Dropping derived constraints]
      
      I also removed wl_deriv altogether from the WorkList data type.  It
      was there in the hope of gaining efficiency by not even processing
      lots of derived constraints, but it has turned out that most derived
      constraints (notably equalities) must be processed anyway; see
      Note [Prioritise equalities] in TcSMonad.
      
      The two are coupled because to decide which constraints to put in
      wl_deriv I was using another variant of isDroppableCt.  Now it's much
      simpler -- and perhaps even more efficient too.
      
      (cherry picked from commit 6edafe3b)
      f2bb550e
  12. 08 Feb, 2018 1 commit
    • Simon Peyton Jones's avatar
      Fix utterly bogus TagToEnum rule in caseRules · 4e0b4b36
      Simon Peyton Jones authored
      In prelRules we had:
      
        tx_con_tte :: DynFlags -> AltCon -> AltCon
        tx_con_tte _      DEFAULT      = DEFAULT
        tx_con_tte dflags (DataAlt dc)
          | tag == 0  = DEFAULT   -- See Note [caseRules for tagToEnum]
          | otherwise = LitAlt (mkMachInt dflags (toInteger tag))
      
      The tag==0 case is totally wrong, and led directly to Trac #14768.
      
      See "Beware" in Note [caseRules for tagToEnum] (in the patch).
      
      Easily fixed, though!
      
      (cherry picked from commit 4aa98f4a)
      4e0b4b36
  13. 07 Feb, 2018 1 commit
  14. 04 Feb, 2018 3 commits
    • Ben Gamari's avatar
      Bump transformers submodule to 0.5.5.0 · 111737cd
      Ben Gamari authored
      (cherry picked from commit 24e56ebd)
      111737cd
    • Ben Gamari's avatar
      testsuite: Add testcase for #14754 · 054abe3d
      Ben Gamari authored
      (cherry picked from commit 606edbfb)
      054abe3d
    • Ben Gamari's avatar
      cmm: Revert more aggressive CBE due to #14226 · f0cae1f2
      Ben Gamari authored
      Trac #14226 noted that the C-- CBE pass frequently fails to
      common up semantically identical blocks due to the differences in local
      register naming. These patches fixed this by making the pass consider
      equality up to alpha-renaming.
      
      However, the new logic failed to consider the possibility that local
      register naming *may* matter across multiple blocks. This lead to the
      regression #14754. I'll need to do a bit of thinking on a proper
      solution to this but in the meantime I'm reverting all four patches.
      
      This reverts commit a27056f9.
      This reverts commit 6f990c54.
      This reverts commit 9aa73892.
      This reverts commit 7920a7d9.
      
      (cherry picked from commit 50adbd7c)
      f0cae1f2
  15. 03 Feb, 2018 4 commits