1. 01 Aug, 2019 1 commit
    • Ivan Kasatenko's avatar
      Fix T16916 CI failures (#16966) · 986643cb
      Ivan Kasatenko authored
      1. Slightly increased the waiting time for the tested effect to be more
         profound.
      
      2. Introduced measuring of the actual time spent waiting and adjusing
         CPU time by it to compensate for threadDelay waiting time
         inconsistencies.
      986643cb
  2. 31 Jul, 2019 5 commits
    • Ben Gamari's avatar
      gitlab-ci: Fix it after upgrade · 5e04841c
      Ben Gamari authored
      It seems that the regular expression parser changed in GitLab 12.1 and
      now does now support forward slashes in the RE, even when escaped.
      5e04841c
    • Ben Gamari's avatar
      Work around redundant import issue · 787fab43
      Ben Gamari authored
      As mentioned in #16997, GHC currently complains about this import.
      In general I'm reluctant to paper over things like this but in the case
      of an hs-boot file I think adding an import list is the right thing to
      do regardless of the bug.
      787fab43
    • Ben Gamari's avatar
      Move tyConAppNeedsKindSig to Type · 88410e77
      Ben Gamari authored
      Previously it was awkwardly in TyCoFVs (and before that in TyCoRep).
      Type seems like a sensible place for it to live.
      88410e77
    • Ben Gamari's avatar
      gitignore: Add .mypy_cache · b6fa7fe3
      Ben Gamari authored
      b6fa7fe3
    • Ben Gamari's avatar
      Break up TyCoRep · 371dadfb
      Ben Gamari authored
      This breaks up the monstrous TyCoReps module into several new modules by
      topic:
      
       * TyCoRep: Contains the `Coercion`, `Type`, and related type
         definitions and a few simple predicates but nothing further
      
       * TyCoPpr: Contains the the pretty-printer logic
      
       * TyCoFVs: Contains the free variable computations (and
         `tyConAppNeedsKindSig`, although I suspect this should change)
      
       * TyCoSubst: Contains the substitution logic for types and coercions
      
       * TyCoTidy: Contains the tidying logic for types
      
      While we are able to eliminate a good number of `SOURCE` imports (and
      make a few others smaller) with this change, we must introduce one new
      `hs-boot` file for `TyCoPpr` so that `TyCoRep` can define `Outputable`
      instances for the types it defines.
      
      Metric Increase:
          haddock.Cabal
          haddock.compiler
      371dadfb
  3. 30 Jul, 2019 2 commits
  4. 29 Jul, 2019 2 commits
  5. 28 Jul, 2019 2 commits
  6. 26 Jul, 2019 6 commits
    • Alex D's avatar
      Add regression test for #16946 · 26314386
      Alex D authored
      26314386
    • Adam Sandberg Eriksson's avatar
      7c9fb2f0
    • Vladislav Zavialov's avatar
      ea08fa37
    • Vladislav Zavialov's avatar
      TemplateHaskell: reifyType (#16976) · 00d9d284
      Vladislav Zavialov authored
      00d9d284
    • Alex D's avatar
      Change behaviour of -ddump-cmm-verbose to dump each Cmm pass output to a... · aae0457f
      Alex D authored
      Change behaviour of -ddump-cmm-verbose to dump each Cmm pass output to a separate file and add -ddump-cmm-verbose-by-proc to keep old behaviour (#16930)
      aae0457f
    • Ryan Scott's avatar
      Banish reportFloatingViaTvs to the shadow realm (#15831, #16181) · 30b6f391
      Ryan Scott authored
      GHC used to reject programs of this form:
      
      ```
      newtype Age = MkAge Int
        deriving Eq via Const Int a
      ```
      
      That's because an earlier implementation of `DerivingVia` would
      generate the following instance:
      
      ```
      instance Eq Age where
        (==) = coerce @(Const Int a -> Const Int a -> Bool)
                      @(Age         -> Age         -> Bool)
                      (==)
      ```
      
      Note that the `a` in `Const Int a` is not bound anywhere, which
      causes all sorts of issues. I figured that no one would ever want to
      write code like this anyway, so I simply banned "floating" `via` type
      variables like `a`, checking for their presence in the aptly named
      `reportFloatingViaTvs` function.
      
      `reportFloatingViaTvs` ended up being implemented in a subtly
      incorrect way, as #15831 demonstrates. Following counsel with the
      sage of gold fire, I decided to abandon `reportFloatingViaTvs`
      entirely and opt for a different approach that would _accept_
      the instance above. This is because GHC now generates this instance
      instead:
      
      ```
      instance forall a. Eq Age where
        (==) = coerce @(Const Int a -> Const Int a -> Bool)
                      @(Age         -> Age         -> Bool)
                      (==)
      ```
      
      Notice that we now explicitly quantify the `a` in
      `instance forall a. Eq Age`, so everything is peachy scoping-wise.
      See `Note [Floating `via` type variables]` in `TcDeriv` for the full
      scoop.
      
      A pleasant benefit of this refactoring is that it made it much easier
      to catch the problem observed in #16181, so this patch fixes that
      issue too.
      
      Fixes #15831. Fixes #16181.
      30b6f391
  7. 25 Jul, 2019 4 commits
  8. 24 Jul, 2019 4 commits
    • Ben Gamari's avatar
      gitlab-ci: Fix source tarball job · d0f8ed20
      Ben Gamari authored
      * Use show! in source tarball job. Since we aren't actually building
        anything in this job `show` won't
        work.
      
      * Fix Docker image name
      
      * Make `version` file contain only version string
      d0f8ed20
    • John Ericson's avatar
      Make stage 1 GHC target independent · b95b6380
      John Ericson authored
      Now that the target macros are not being used, we remove them. This
      prevents target hardcoding regressions.
      b95b6380
    • Richard Eisenberg's avatar
      3dbcc368
    • Alp Mestanogullari's avatar
      Hadrian: run the testsuite in Windows CI job · 6ade71fb
      Alp Mestanogullari authored
      Since MR !1025 fixed the Windows build, allowing us to build a binary
      distribution, we can now run the testsuite in that CI job.
      
      This required fixing 'createFileLink': it should not try to create
      symlinks on Windows (that requires admin priviledges, which Hadrian can't
      assume). We now instead fall back to copying.
      
      This patch also removes some duplicated logic for iserv in the test rules,
      where we handle our dependency on the iserv binaries in a special way.
      6ade71fb
  9. 23 Jul, 2019 2 commits
  10. 21 Jul, 2019 4 commits
    • Ben Gamari's avatar
      ghc-cabal: Use fromFlagOrDefault instead of fromFlag · 4854a349
      Ben Gamari authored
      As fromFlag is partial. The only case where we used fromFlag is when
      determining whether to strip libraries; we now assume that we shouldn't.
      4854a349
    • Roland Senn's avatar
      Fix #8487: Debugger confuses variables · 32be4461
      Roland Senn authored
      To display the free variables for a single breakpoint, GHCi pulls out the
      information from the fields `modBreaks_breakInfo` and `modBreaks_vars`
      of the `ModBreaks` data structure. For a specific breakpoint this gives 2
      lists of types 'Id` (`Var`) and `OccName`. They are used to create the Id's
      for the free variables and must be kept in sync:
      If we remove an element from the Names list, then we also must remove the
      corresponding element from the OccNames list.
      32be4461
    • Ivan Kasatenko's avatar
      Do not ignore events deletion when events to be added are provided (#16916) · 67ee741b
      Ivan Kasatenko authored
      Kqueue/kevent implementation used to ignore events to be unsubscribed
      from when events to be subscribed to were provided. This resulted in a
      lost notification subscription, when GHC runtime didn't listen for any
      events, yet the kernel considered otherwise and kept waking up the IO
      manager thread.
      
      This commit fixes this issue by always adding and removing all of the
      provided subscriptions.
      67ee741b
    • Andreas Klebinger's avatar
      Expose the GhcPrelude module. · 5042ba9d
      Andreas Klebinger authored
      This makes it simpler to load Modules importing it
      when using ghc-the-package.
      
      -------------------------
      Metric Decrease:
          haddock.compiler
      -------------------------
      5042ba9d
  11. 20 Jul, 2019 4 commits
  12. 19 Jul, 2019 4 commits