This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. 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. 15 Mar, 2017 4 commits
    • Ben Gamari's avatar
      Introduce putLogMsg · 086b514b
      Ben Gamari authored
      This factors out the repetition of (log_action dflags dflags) and will
      hopefully allow us to someday better abstract log output.
      
      Test Plan: Validate
      
      Reviewers: austin, hvr, goldfire
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3334
      086b514b
    • Ben Gamari's avatar
      Introduce and use EnumSet in DynFlags · cc9d574a
      Ben Gamari authored
      This factors out a repeated pattern found in DynFlags, where we use an
      IntSet and Enum to represent sets of flags.
      
      Requires bump of haddock submodule.
      
      Test Plan: validate
      
      Reviewers: austin, goldfire
      
      Subscribers: rwbarton, thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3331
      cc9d574a
    • Simon Marlow's avatar
      Always build GHCi libs · a7be1631
      Simon Marlow authored
      Since the introduction of -split-sections, using GHCi with the RTS
      linker is really slow:
      
      ```
      $ time (echo :quit | ./inplace/bin/ghc-stage2 --interactive -fexternal-interpreter)
      GHCi, version 8.1.20170304: http://www.haskell.org/ghc/  :? for help
      Prelude> Leaving GHCi.
      
      real        0m3.793s
      ```
      
      (when we use `-fexternal-interpreter` it uses the RTS linker by default,
      you can make it use the system linker by adding `-dynamic`)
      
      Building the GHCi libs doesn't take much time or space in the GHC build,
      but makes things much quicker for people using the RTS linker:
      
      ```
      $ time (echo :quit | ./inplace/bin/ghc-stage2 --interactive -fexternal-interpreter)
      GHCi, version 8.1.20170304: http://www.haskell.org/ghc/  :? for help
      Prelude> Leaving GHCi.
      
      real        0m0.285s
      ```
      
      So I propose that we build and ship them unconditionally.
      
      Test Plan: validate, perf tests above
      
      Reviewers: bgamari, austin, niteria, erikd, Phyx
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, snowleopard
      
      Differential Revision: https://phabricator.haskell.org/D3298
      a7be1631
    • Ben Gamari's avatar
      testsuite: Bump margin of T4029 to 15% · 899fb880
      Ben Gamari authored
      This test has been fluctuating wildly recently. Moreover, it's not even clear to
      me that this is a particularly useful thing to be testing.
      899fb880
  2. 14 Mar, 2017 10 commits
    • David Feuer's avatar
      Reimplement minusList using Set · 5d9378ef
      David Feuer authored
      `minusList ms ns` was `O(m*n)`. Now it's `O((m + n) log n)`, which
      should be a bit better.
      
      Reviewers: austin, bgamari, mpickering
      
      Reviewed By: mpickering
      
      Subscribers: mpickering, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3341
      5d9378ef
    • David Feuer's avatar
      Shortcut a test in exprIsOk · d357f526
      David Feuer authored
      `exprIsOk` didn't shortcut properly when checking `case` (it used
      `foldl` inappropriately). Fix that.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3343
      d357f526
    • Richard Eisenberg's avatar
      Fix #13337. · e0c433c8
      Richard Eisenberg authored
      The big change is the introduction of solveSomeEqualities. This
      is just like solveEqualities, but it doesn't fail if there are unsolved
      equalities when it's all done. Anything unsolved is re-emitted. This
      is appropriate if we are not kind-generalizing, so this new form
      is used when decideKindGeneralizationPlan says not to.
      
      We initially thought that any use of solveEqualities would be tied
      to kind generalization, but this isn't true. For example, we need
      to solveEqualities a bunch in the "tc" pass in TcTyClsDecls (which
      is really desugaring). These equalities are all surely going to be
      soluble (if they weren't the "kc" pass would fail), but we still
      need to solve them again. Perhaps if the "kc" pass produced type-
      checked output that is then desugared, solveEqualities really would
      be tied only to kind generalization.
      
      Updates haddock submodule.
      
      Test Plan: ./validate, typecheck/should_compile/T13337
      
      Reviewers: simonpj, bgamari, austin
      
      Reviewed By: simonpj
      
      Subscribers: RyanGlScott, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3315
      e0c433c8
    • Tamar Christina's avatar
      Fix Windows GCC driver · 4b673e80
      Tamar Christina authored
      In Windows 10 Insiders build 15019+ which will probably be released
      mainstream somewhere this year Microsoft seems to have started being
      stricter with API calls.
      
      The call to `FreeConsole` just after `CreateProcess` is making Windows
      treat the process
      as an interactive process. In which case it tries to use the `Desktop
      session` but fails resulting
      in the cryptic error reported.
      
      I don't understand why the call to `FreeConsole` was there and it
      doesn't seem to be needed,
      so removed.
      
      This fixes #13411
      
      Test Plan: ./validate, alternative just do anything with ghc which
      requires compilation.
      
      Reviewers: austin, bgamari, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, #ghc_windows_task_force
      
      Differential Revision: https://phabricator.haskell.org/D3319
      4b673e80
    • Ryan Scott's avatar
      Allow associated types to pattern-match in non-class-bound variables · 67345ccf
      Ryan Scott authored
      Summary:
      After 8136a5cb (#11450), if you have
      a class with an associated type:
      
      ```
      class C a where
        type T a b
      ```
      
      And you try to create an instance of `C` like this:
      
      ```
      instance C Int where
        type T Int Char = Bool
      ```
      
      Then it is rejected, since you're trying to instantiate the variable ``b`` with
      something other than a type variable. But this restriction proves quite
      onerous in practice, as it prevents you from doing things like this:
      
      ```
      class C a where
        type T a (b :: Identity c) :: c
      
      instance C Int where
        type T Int ('Identity x) = x
      ```
      
      You have to resort to an auxiliary type family in order to define this now,
      which becomes extremely tiring. This lifts this restriction and fixes #13398,
      in which it was discovered that adding this restriction broke code in the wild.
      
      Test Plan: ./validate
      
      Reviewers: simonpj, bgamari, austin
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3302
      67345ccf
    • Ryan Scott's avatar
      Further document :type +v's role in analyzing -XTypeApplications in GHCi · b335f506
      Ryan Scott authored
      Summary:
      The section on `-XTypeApplications` in the users' guide isn't terribly
      clear on how to view the visibility of a function type signature's type
      variables in GHCi properly (i.e., using the `:type +v` GHCi command). This
      adds some more exposition that demonstrates how to use `:type +v` (and why you
      don't want to use `:type`).
      
      Fixes #13401.
      
      Test Plan: Eyeball it
      
      Reviewers: bgamari, austin, goldfire, crockeea
      
      Reviewed By: goldfire, crockeea
      
      Subscribers: rwbarton, thomie, crockeea
      
      Differential Revision: https://phabricator.haskell.org/D3310
      b335f506
    • Ben Gamari's avatar
      testsuite: Bump allocations for T4029 · 34f9172f
      Ben Gamari authored
      Both the OS X build machine and my local builds have been failing.
      Unfortunately, our x86_64 Linux machine has been succeeding.
      34f9172f
    • Ben Gamari's avatar
      Introduce and use mkLetRec, mkLetNonRec · 1217df48
      Ben Gamari authored
      Test Plan: Validate
      
      Reviewers: austin
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3303
      1217df48
    • Simon Peyton Jones's avatar
      Fix CaseIdentity optimisation AGAIN · 82b40598
      Simon Peyton Jones authored
      In this commit
          commit 02ac2974
          Author: Simon Peyton Jones <simonpj@microsoft.com>
          Date:   Wed Nov 16 10:37:47 2011 +0000
      
          Fix CaseIdentity optimisaion
      
          In fixing one bug I'd introduced another;
             case x of { T -> T; F -> F }
          wasn't getting optmised!  Trivial to fix.
      
      I introduced yet another!  This line of code in SimplUtils.mkCase1
      
          check_eq (Var v)    (DataAlt con) []   = v == dataConWorkId con
                                                   -- Optimisation only
      
      is patently false when arg_tys is non-empty.  Astonishing that it
      has not shown up before now.
      
      Easily fixed though.  This was all shown up by Trac #13417, which is
      now fixed.
      
      Merge to 8.0, 8.2.
      82b40598
    • Gabor Greif's avatar
      Typos in manual and comments · 50512c6b
      Gabor Greif authored
      50512c6b
  3. 13 Mar, 2017 14 commits
  4. 12 Mar, 2017 2 commits
  5. 11 Mar, 2017 3 commits
  6. 10 Mar, 2017 7 commits