1. 10 Jun, 2019 1 commit
    • Richard Eisenberg's avatar
      GHCi support for levity-polymorphic join points · 392210bf
      Richard Eisenberg authored
      Fixes #16509.
      See Note [Levity-polymorphic join points] in ByteCodeGen,
      which tells the full story.
      This commit also adds some comments and cleans some code
      in the byte-code generator, as I was exploring around trying
      to understand it.
      test case: ghci/scripts/T16509
  2. 09 Jun, 2019 16 commits
    • Daniel Gröber (dxld)'s avatar
      rts: Fix RetainerProfile early return with TREC_CHUNK · 8e60e3f0
      Daniel Gröber (dxld) authored
      When pop() returns with `*c == NULL` retainerProfile will immediately
      return. All other code paths is pop() continue with the next stackElement
      when this happens so it seems weird to me that TREC_CHUNK we would suddenly
      abort everything even though the stack might still have elements left to
    • John Ericson's avatar
      Remove CPP ensuring word size is 32 or 64 bits around Addr# <-> int# primops · 5023adce
      John Ericson authored
      It shouldn't be needed these days, and those primops are "highly
      deprecated" anyways.
      This fits with my plans because it removes one bit of target-dependence
      of the builtin primops, and this is the hardest part of GHC to make
      CC @carter
    • Richard Eisenberg's avatar
    • David Eichmann's avatar
      Hadrian: need CPP preprocessor dependencies #16660 · 69c58f8a
      David Eichmann authored
      Use the new -include-cpp-deps ghc option (#16521)
      when generating .dependencies files in hadrian.
      This is version gated as -include-cpp-deps is a
      relatively new option.
    • Ben Gamari's avatar
      testsuite: Add test for #16509 · 8a48a8a4
      Ben Gamari authored
    • Alex D's avatar
      Do not report error if Name in pragma is unbound · ed20412a
      Alex D authored
    • Ben Gamari's avatar
      rts: Separate population of eventTypes from initial event generation · 13572480
      Ben Gamari authored
      Previously these two orthogonal concerns were both implemented in
      postHeaderEvents which made it difficult to send header events after RTS
    • Roland Senn's avatar
      Add disable/enable commands to ghci debugger #2215 · 10452959
      Roland Senn authored
      This patch adds two new commands `:enable` and `:disable` to the GHCi debugger.
      Opposite to `:set stop <n> :continue` a breakpoint disabled with `:disable` will
      not loose its previously set stop command.
      A new field breakEnabled is added to the BreakLocation data structure to
      track the enable/disable state. When a breakpoint is disabled with a `:disable`
      command, the following happens:
      The corresponding BreakLocation data element is searched dictionary of the
      `breaks` field of the GHCiStateMonad. If the break point is found and not
      already in the disabled state, the breakpoint is removed from bytecode.
      The BreakLocation data structure is kept in the breaks list and the new
      breakEnabled field is set to false.
      The `:enable` command works similar.
      The breaks field in the GHCiStateMonad was changed from an association list
      to int `IntMap`.
    • Richard Eisenberg's avatar
      Fix #16517 by bumping the TcLevel for method sigs · a22e51ea
      Richard Eisenberg authored
      There were actually two bugs fixed here:
      1. candidateQTyVarsOfType needs to be careful that it does not
         try to zap metavariables from an outer scope as "naughty"
         quantification candidates. This commit adds a simple check
         to avoid doing so.
      2. We weren't bumping the TcLevel in kcHsKindSig, which was used
         only for class method sigs. This mistake led to the acceptance
           class C a where
             meth :: forall k. Proxy (a :: k) -> ()
         Note that k is *locally* quantified. This patch fixes the
         problem by using tcClassSigType, which correctly bumps the
         level. It's a bit inefficient because tcClassSigType does other
         work, too, but it would be tedious to repeat much of the code
         there with only a few changes. This version works well and is
      And, while updating comments, etc., I noticed that tcRnType was
      missing a pushTcLevel, leading to #16767, which this patch also
      fixes, by bumping the level. In the refactoring here, I also
      use solveEqualities. This initially failed ghci/scripts/T15415,
      but that was fixed by teaching solveEqualities to respect
      This patch also cleans up some Notes around error generation that
      came up in conversation.
      Test case: typecheck/should_fail/T16517, ghci/scripts/T16767
    • KevinBuhr's avatar
      Handle trailing path separator in package DB names (#16360) · 9d238791
      KevinBuhr authored
      Package DB directories with trailing separator (provided via
      GHC_PACKAGE_PATH or via -package-db) resulted in incorrect calculation of
      ${pkgroot} substitution variable.  Keep the trailing separator while
      resolving as directory or file, but remove it before dropping the last
      path component with takeDirectory.
      Closes #16360.
    • Simon Jakobi's avatar
      Small refactorings in ExtractDocs · b9fe91fc
      Simon Jakobi authored
    • Ben Gamari's avatar
      testsuite: Add test for #16514 · 41bf4045
      Ben Gamari authored
    • chessai's avatar
      Introduce log1p and expm1 primops · f7370333
      chessai authored
      Previously log and exp were primitives yet log1p and expm1 were FFI
      calls. Fix this non-uniformity.
    • Ben Gamari's avatar
      testsuite: Suppress ticks in T4918 output · a018c3a8
      Ben Gamari authored
      As noted in #16741, this test otherwise breaks when `base` is compiled
      with `-g`.
    • Matthew Pickering's avatar
      hadrian: Properly partition options in sourceArgs · 970e4802
      Matthew Pickering authored
      Previously if you build the `ghc` package then it would has the default
      opts and the library opts. This is different behaviour to make where the
      library opts are only reserved for things in the `libraries`
      subdirectory (I believe)
      Fixes #16716
    • Alexandre R. Baldé's avatar
  3. 08 Jun, 2019 10 commits
  4. 07 Jun, 2019 13 commits