This project is mirrored from Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 19 Oct, 2015 1 commit
  2. 18 Oct, 2015 5 commits
  3. 17 Oct, 2015 8 commits
    • Ben Gamari's avatar
      Signals: Always install SIGUSR2 handler · d990b5f6
      Ben Gamari authored
      Even if libdw isn't available.
    • Ben Gamari's avatar
    • Herbert Valerio Riedel's avatar
      Make Monad/Applicative instances MRP-friendly · e8ed2136
      Herbert Valerio Riedel authored
      This patch refactors pure/(*>) and return/(>>) in MRP-friendly way, i.e.
      such that the explicit definitions for `return` and `(>>)` match the
      MRP-style default-implementation, i.e.
        return = pure
        (>>) = (*>)
      This way, e.g. all `return = pure` definitions can easily be grepped and
      removed in GHC 8.1;
      Test Plan: Harbormaster
      Reviewers: goldfire, alanz, bgamari, quchen, austin
      Reviewed By: quchen, austin
      Subscribers: thomie
      Differential Revision:
    • Ben Gamari's avatar
      Signals: Print backtrace on SIGUSR2 · 40cbf9aa
      Ben Gamari authored
      This uses the backtrace support introduced in D1196 to provide
      backtraces from Haskell processes when SIGUSR2 is thrown.
      Test Plan: Need to add a test.
      Reviewers: scpmw, simonmar, Tarrasch, austin
      Reviewed By: austin
      Subscribers: thomie
      Differential Revision:
    • Ben Gamari's avatar
      Libdw: Add libdw-based stack unwinding · a6a3dabc
      Ben Gamari authored
      This adds basic support to the RTS for DWARF-assisted unwinding of the
      Haskell and C stack via libdw. This only adds the infrastructure;
      consumers of this functionality will be introduced in future diffs.
      Currently we are carrying the initial register collection code in
      Libdw.c but this will eventually make its way upstream to libdw.
      Test Plan: See future patches
      Reviewers: Tarrasch, scpmw, austin, simonmar
      Reviewed By: austin, simonmar
      Subscribers: simonmar, thomie, erikd
      Differential Revision:
      GHC Trac Issues: #10656
    • Ryan Scott's avatar
      Move Control.Monad.IO.Class to base from transformers · fff02548
      Ryan Scott authored
      See Trac #10773
      Remove Control.Monad.IO.Class from `transformers`. Updates
      `transformers` submodule.
      See Trac #10773
      Test Plan: ./validate
      Reviewers: ekmett, hvr, bgamari, austin
      Reviewed By: hvr, bgamari, austin
      Subscribers: thomie
      Differential Revision:
      GHC Trac Issues: #10773
    • Tamar Christina's avatar
      Silence the linker on Windows so tests pass · 603a369d
      Tamar Christina authored
      Silence the unconditional debugBelch statements recently added to HEAD
      which on Windows cause debug information to always be printed.
      Differential Revision:
    • thomie's avatar
      Build system: fix `make -j1` (#10973) · 3340fe01
      thomie authored
      There are multiple hacks all over the build system to account for the
      fact that the ghc package uses different build subdirectories
      (stage1/stage2) than the other packages (dist/dist-install).
      One such hack filtered on 'ghc%', with the intention of filtering the
      ghc package only. After renaming bin-package-db to ghc-boot
      (d2f9972a, Phab:D1313, #10796), ghc-boot
      also got caught in the hack, which broke the build when running without
      This patch replaces the before mentioned hack by a different one, such
      that filtering on 'ghc%' is no longer necessary. See Note [inconsistent
      Reviewed by: austin
      Differential Revision:
  4. 16 Oct, 2015 8 commits
  5. 15 Oct, 2015 6 commits
  6. 14 Oct, 2015 2 commits
    • Erik de Castro Lopo's avatar
      Fix GHCi on Arm (#10375). · 933adc0f
      Erik de Castro Lopo authored
      Arm has two instruction sets, Arm and Thumb, and an execution mode for each.
      Executing Arm code in Thumb mode or vice-versa will likely result in an
      Illegal instruction exception.
      Furthermore, Haskell code compiled via LLVM was generating Arm instructions
      while C code compiled via GCC was generating Thumb code by default. When
      these two object code types were being linked by the system linker, all was
      fine, because the system linker knows how to jump and call from one
      instruction set to the other.
      The first problem was with GHCi's object code loader which did not know
      about Thumb vs Arm. When loading an object file `StgCRun` would jump
      into the loaded object which could change the mode causing a crash after
      it returned. This was fixed by forcing all C code to generate Arm
      instructions by passing `-marm` to GCC.
      The second problem was the `mkJumpToAddr` function which was generating
      Thumb instructions. Changing that to generate Arm instructions instead
      results in a working GHCi on Arm.
      Test Plan: validate on x86_64 and arm
      Reviewers: bgamari, austin, hvr
      Subscribers: thomie
      Differential Revision:
      GHC Trac Issues: #10375
    • Austin Seipp's avatar
      travis: use LLVM 3.7 · 77561617
      Austin Seipp authored
      Signed-off-by: default avatarAustin Seipp <>
  7. 13 Oct, 2015 9 commits
    • Erik de Castro Lopo's avatar
      Switch to LLVM version 3.7 · 29310b62
      Erik de Castro Lopo authored
      Before this commit, GHC only supported LLVM 3.6. Now it only supports
      LLVM 3.7 which was released in August 2015. LLVM version 3.6 and earlier
      do not work on AArch64/Arm64, but 3.7 does.
      * Add CC_Ghc constructor to LlvmCallConvention.
      * Replace `maxSupportLlvmVersion`/`minSupportLlvmVersion` with
        a single `supportedLlvmVersion` variable.
      * Get `supportedLlvmVersion` from version specified in
      * Drop llvmVersion field from DynFlags (no longer needed because only
        one version is supported).
      Test Plan: Validate on x86_64 and arm
      Reviewers: bgamari, austin
      Subscribers: thomie
      Differential Revision:
      GHC Trac Issues: #10953
    • strake's avatar
    • joeyadams's avatar
      base: Add forkOSWithUnmask · dec5cd40
      joeyadams authored
      Fixes #8010, according to the specified libraries proposal. [1]
      Also, some minor wordsmithing.
      Signed-off-by: default avatarAustin Seipp <>
    • Ryan Scott's avatar
      docs: overhaul Derive{Functor,Foldable,Traversable} notes · e5bfd704
      Ryan Scott authored
      The previous users' guide documentation was too implementation-oriented. This
      attempts to make it more accessible to those who aren't familiar with how
      `-XDeriveFunctor` and friends work (and more importantly, what will not work
      when using them).
      Fixes #10831.
      Reviewed By: austin
      Differential Revision:
      GHC Trac Issues: #10831
    • Ömer Sinan Ağacan's avatar
      Fix incorrect import warnings when methods with identical names are imported · 1818b48e
      Ömer Sinan Ağacan authored
      Currently, GHC's warning generation code is assuming that a name (`RdrName`)
      can be imported at most once. This is a correct assumption, because 1) it's OK
      to import same names as long as we don't use any of them 2) when we use one of
      them, GHC generates an error because it doesn't disambiguate it automatically.
      But apparently the story is different with typeclass methods. If I import two
      methods with same names, it's OK to use them in typeclass instance
      declarations, because the context specifies which one to use. For example, this
      is OK (where modules A and B define typeclasses A and B, both with a function
          import A
          import B
          data Blah = Blah
          instance A Blah where
            has = Blah
          instance B Blah where
            has = Blah
      But GHC's warning generator is not taking this into account, and so if I change
      import list of this program to:
          import A (A (has))
          import B (B (has))
      GHC is printing these warnings:
          Main.hs:5:1: Warning:
              The import of ‘A.has’ from module ‘A’ is redundant
          Main.hs:6:1: Warning:
              The import of ‘B.has’ from module ‘B’ is redundant
      Why? Because warning generation code is _silently_ ignoring multiple symbols
      with same names.
      With this patch, GHC takes this into account. If there's only one name, then
      this patch reduces to the previous version, that is, it works exactly the same
      as current GHC (thanks goes to @quchen for realizing this).
      Reviewed By: austin
      Differential Revision:
      GHC Trac Issues: #10890
    • Ryan Scott's avatar
      Make dataToQa aware of Data instances which use functions to implement toConstr · d2f9972a
      Ryan Scott authored
      Trac #10796 exposes a way to make `template-haskell`'s `dataToQa` function
      freak out if using a `Data` instance that produces a `Constr` (by means of
      `toConstr`) using a function name instead of a data constructor name. While
      such `Data` instances are somewhat questionable, they are nevertheless present
      in popular libraries (e.g., `containers`), so we can at least make `dataToQa`
      aware of their existence.
      In order to properly distinguish strings which represent variables (as opposed
      to data constructors), it was necessary to move functionality from `Lexeme` (in
      `ghc`) to `GHC.Lexeme` in a new `ghc-boot` library (which was previously named
      Reviewed By: goldfire, thomie
      Differential Revision:
      GHC Trac Issues: #10796
    • bernalex's avatar
      Slightly wibble TcSimplify documentation · 94ef79a7
      bernalex authored
      Add some commas, fix some typos, etc.
      Signed-off-by: bernalex's avatarAlexander Berntsen <>
      Reviewed By: austin
      Differential Revision:
    • Austin Seipp's avatar
      testsuite: attempt fixing T10935 output · 330ba6ad
      Austin Seipp authored
      This fallout was caused by f8fbf385
       (see #10935), and looks easy
      enough, but admittedly I just tried patching the output, so we're doing it
      Signed-off-by: default avatarAustin Seipp <>
    • afarmer's avatar
      Don't inline/apply other rules when simplifying a rule RHS. · dcc34287
      afarmer authored
      HERMIT users depend on RULES to specify equational properties. 7.10.2
      performed both inlining and simplification in both sides of the rules, meaning
      they can't really be used for this. This breaks most HERMIT use cases.  A
      separate commit already disabled this for the LHS of rules. This does so for
      the RHS.
      See Trac #10829 for nofib results.
      Reviewed By: austin, bgamari, simonpj
      Differential Revision:
      GHC Trac Issues: #10829
  8. 12 Oct, 2015 1 commit
    • Simon Peyton Jones's avatar
      Reinstate monomorphism-restriction warnings · f8fbf385
      Simon Peyton Jones authored
      This patch is driven by Trac #10935, and reinstates the
      -fwarn-monomorphism-restriction warning.  It was first lost in 2010:
      d2ce0f52 "Super-monster patch implementing the new typechecker -- at
      I think the existing documentation is accurate; it is not even
      turned on by -Wall.
      I added one test.