1. 02 Mar, 2018 8 commits
    • Ryan Scott's avatar
      Add regression test for #12790 · 125d1518
      Ryan Scott authored
      Test Plan: make test TEST=T12790
      
      Reviewers: bgamari, mpickering
      
      Reviewed By: mpickering
      
      Subscribers: mpickering, dfeuer, rwbarton, thomie, carter
      
      GHC Trac Issues: #12790
      
      Differential Revision: https://phabricator.haskell.org/D4412
      125d1518
    • Tao He's avatar
      Improve exhaustive checking for guards in pattern bindings and MultiIf. · e8e9f6a7
      Tao He authored
      Previously we didn't do exhaustive checking on MultiIf expressions
      and guards in pattern bindings.
      
      We can construct the `LMatch` directly from GRHSs or [LHsExpr]
      (MultiIf's alts) then feed it to checkMatches, without construct the
      MatchGroup and using function `matchWrapper`.
      Signed-off-by: Tao He's avatarHE, Tao <sighingnow@gmail.com>
      
      Test Plan: make test TEST="T14773a T14773b"
      
      Reviewers: bgamari, RyanGlScott, simonpj
      
      Reviewed By: bgamari, simonpj
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14773
      
      Differential Revision: https://phabricator.haskell.org/D4400
      e8e9f6a7
    • Andrew Martin's avatar
      Move Data.Functor.Contravariant from the contravariant package to base. · 8c7a1551
      Andrew Martin authored
      Move Data.Functor.Contravariant from the contravariant package to base.
      Since base is the bottom of the dependency hierarchy, several instances
      have been removed. They will need to be added to the following packages:
      transformers, StateVar, and possibly tagged. There may not actually have
      been any types from tagged that previous had instanced provided by this
      module though, since it may have only been used for Data.Proxy. Additionally,
      all CPP has been removed. Derived Typeable instances have been removed
      (since Typeable is now automatically derived for everything). The language
      extension Safe is still used, although it is unclear to ATM whether or not
      it is necessary.
      
      This resolves trac issue #14767.
      
      Test Plan: validate
      
      Reviewers: RyanGlScott, ekmett, hvr, bgamari
      
      Reviewed By: RyanGlScott
      
      Subscribers: rwbarton, thomie, ekmett, carter, RyanGlScott
      
      GHC Trac Issues: #14767
      
      Differential Revision: https://phabricator.haskell.org/D4399
      8c7a1551
    • shlevy's avatar
      Make cost centre symbol names deterministic. · d8e47a2e
      shlevy authored
      Previously, non-CAF cost centre symbol names contained a unique,
      leading to non-deterministic object files which, among other issues,
      can lead to an inconsistency causing linking failure when using cached
      builds sourced from multiple machines, such as with nix. Now, each
      cost centre symbol is annotated with the type of cost centre it
      is (CAF, expression annotation, declaration annotation, or HPC) and,
      when a single module has multiple cost centres with the same name and
      type, a 0-based index.
      
      Reviewers: bgamari, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: niteria, simonmar, RyanGlScott, osa1, rwbarton, thomie, carter
      
      GHC Trac Issues: #4012, #12935
      
      Differential Revision: https://phabricator.haskell.org/D4388
      d8e47a2e
    • Matthew Pickering's avatar
      Only load plugins once · f8e3cd3b
      Matthew Pickering authored
      Summary: This is part of D4342 which is worthwhile to merge on its own.
      
      Reviewers: nboldi, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D4410Co-authored-by: lazac's avatarBoldizsar Nemeth <nboldi@elte.hu>
      f8e3cd3b
    • Ben Gamari's avatar
      8dab89b4
    • Ömer Sinan Ağacan's avatar
      forkProcess: fix task mutex release order · e261b852
      Ömer Sinan Ağacan authored
      `all_tasks_mutex` should be released before calling `releaseCapability_`
      in the parent process as `releaseCapability_` spawns worker tasks in
      some cases.
      
      Reviewers: bgamari, erikd, simonmar
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14538
      
      Differential Revision: https://phabricator.haskell.org/D4460
      e261b852
    • niteria's avatar
      Cache the fingerprint of sOpt_P · b8f03bbe
      niteria authored
      Before this change we would compute a hash of
      all the command line -optP flags once per file.
      With a lot of files and many -optP flags, that's a lot
      of repeated work.
      
      I added a new Note that explains the approach and rationale.
      
      Test Plan: new test
      
      Reviewers: simonmar, simonpj, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14697
      
      Differential Revision: https://phabricator.haskell.org/D4445
      b8f03bbe
  2. 01 Mar, 2018 1 commit
  3. 27 Feb, 2018 8 commits
  4. 26 Feb, 2018 2 commits
  5. 25 Feb, 2018 6 commits
  6. 24 Feb, 2018 1 commit
    • Andrey Mokhov's avatar
      Update Hadrian submodule · bf3f0a68
      Andrey Mokhov authored
        * Make shell.nix less broken (hadrian/510)
        * Add --configure flag to the script
        * Undo iserv changes (hadrian/507)
        * Fix ghc-cabal: Parsec modules are now found in libraries/parsec/src (hadrian/506)
        * Move a bunch of types into dedicated modules (hadrian/502)
        * Add --quickjump to Haddock (hadrian/505)
        * Add iserv library (hadrian/504)
        * Merge pull request hadrian/503 from snowleopard/angerman-patch-1
        * Merge pull request hadrian/500 from snowleopard/runtime-deps
        * Fix Hadrian after Cabal changes (hadrian/498)
        * Drop custom logic for Scav_thr and Evac_thr (hadrian/497)
        * Fix Haddock (hadrian/496)
      bf3f0a68
  7. 22 Feb, 2018 1 commit
  8. 21 Feb, 2018 2 commits
  9. 20 Feb, 2018 7 commits
    • Ben Gamari's avatar
      Revert "Move `iserv` into `utils` and change package name · abfe1048
      Ben Gamari authored
      See Phab:D4377 for the rationale. We will try this again.
      
      This reverts commit 7c173b90.
      abfe1048
    • Ryan Scott's avatar
      Slight refactor of stock deriving internals · f4336593
      Ryan Scott authored
      Summary:
      Before, the `hasStockDeriving` function, which determines
      how derived bindings should be generated for stock classes, was
      awkwardly separated from the `checkSideConditions` function, which
      checks invariants of the same classes that `hasStockDeriving` does.
      As a result, there was a fair deal of hoopla needed to actually use
      `hasStockDeriving`.
      
      But this hoopla really isn't required—we should be using
      `hasStockDeriving` from within `checkSideConditions`, since they're
      looking up information about the same classes! By doing this, we can
      eliminate some kludgy code in the form of `mk_eqn_stock'`, which had
      an unreachable `pprPanic` that was stinking up the place.
      
      Reviewers: bgamari, dfeuer
      
      Reviewed By: bgamari
      
      Subscribers: dfeuer, rwbarton, thomie, carter
      
      GHC Trac Issues: #13154
      
      Differential Revision: https://phabricator.haskell.org/D4370
      f4336593
    • Ryan Scott's avatar
      Add ghc-prim.buildinfo to .gitignore · f511bb58
      Ryan Scott authored
      f511bb58
    • Ben Gamari's avatar
      circleci: Skip performance tests · 81a5e05d
      Ben Gamari authored
      Once we finally get the automation for #12758 we can re-enable these.
      81a5e05d
    • David Feuer's avatar
      Document missing dataToTag# . tagToEnum# rule · 517c1940
      David Feuer authored
      Explain why we don't have a rule to optimize `dataToTag# (tagToEnum# x)`
      to `x`.
      
      [skip ci]
      
      Reviewers: bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, carter
      
      GHC Trac Issues: #14282
      
      Differential Revision: https://phabricator.haskell.org/D4375
      517c1940
    • Tamar Christina's avatar
      Change how includes for input file directory works · eb2daa2b
      Tamar Christina authored
      GHC Used to only allow for one include mode, namely `-I`.  The problem
      with `-I` includes is that it supercedes all other includes, including
      the system include paths.
      
      This is not a problem for paths requested by the user, but it is a
      problem for the ones we implicitly derive and add.
      
      In particular we add the source directory of the input file to the
      include path. This is problematic because it causes any file with the
      name of a system include, to inadvertently loop as the wrong file gets
      included.
      
      Since this is an implicitly include, and as far as I can tell, only done
      so local includes are found (as the sources given to GCC reside in a
      temp folder) then switch from `-I` to `-iquote`.
      
      This requires a submodule update for haddock
      
      Test Plan: ./validate
      
      Reviewers: austin, bgamari, hvr
      
      Reviewed By: bgamari
      
      Subscribers: carter, rwbarton, thomie
      
      GHC Trac Issues: #14312
      
      Differential Revision: https://phabricator.haskell.org/D4080
      eb2daa2b
    • Ben Gamari's avatar
      testsuite: Bump allocations for T1969 and T5837 · 71294f30
      Ben Gamari authored
      Sadly it's not immediately obvious where this regression came from:
      
       * T5837 started failing on OS X with 0c2350c2
       * It's not clear when T1969 started failing due to the recent out of memory
         issues on Harbormaster
      71294f30
  10. 19 Feb, 2018 4 commits