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. 03 Apr, 2019 3 commits
    • Ben Gamari's avatar
      configure: Always use AC_LINK_ELSEIF when testing against assembler · 31732efc
      Ben Gamari authored
      This fixes #16440, where the build system incorrectly concluded that the
      `.subsections_via_symbols` assembler directive was supported on a Linux
      system. This was caused by the fact that gcc was invoked with `-flto`;
      when so-configured gcc does not call the assembler but rather simply
      serialises its AST for compilation during the final link.
      
      This is described in Note [autoconf assembler checks and -flto].
      
      (cherry picked from commit 7b090b53)
      31732efc
    • Ben Gamari's avatar
      Set VERSION=8.6.5 · 42eb3a5e
      Ben Gamari authored
      42eb3a5e
    • Andreas Klebinger's avatar
      Restore Xmm registers properly in StgCRun.c · 509a0b92
      Andreas Klebinger authored
      This fixes #16514: Xmm6-15 was restored based off rax instead of rsp.
      The code was introduced in the fix for #14619.
      
      (cherry picked from commit 9b131500371a07626e33edc56700c12322364560)
      509a0b92
  2. 29 Mar, 2019 2 commits
  3. 21 Mar, 2019 1 commit
  4. 19 Mar, 2019 1 commit
  5. 05 Mar, 2019 1 commit
  6. 04 Mar, 2019 1 commit
  7. 02 Mar, 2019 3 commits
  8. 20 Feb, 2019 2 commits
    • Herbert Valerio Riedel's avatar
      Fix regression incorrectly advertising TH support · bdc9680c
      Herbert Valerio Riedel authored
      `--supported-languages` must only advertise language extensions
      which are supported by the compiler in order for tooling such
      as Cabal relying on this signalling not to behave incorrectly.
      
      Fixes #16331
      
      (cherry picked from commit db4372cda7f6c87e7ad26efe3fca4b3f7f527a48)
      bdc9680c
    • Ömer Sinan Ağacan's avatar
      Fix two bugs in stg_ap_0_fast in profiling runtime · a481b199
      Ömer Sinan Ağacan authored
      This includes two bug fixes in profiling version of stg_ap_0_fast:
      
      - PAPs allocated by stg_ap_0_fast are now correctly tagged. This
        invariant is checked in Sanity.c:checkPAP.
      
        (This was originally implemented in 2693eb11, later reverted with
        ab55b4dd because it revealed the bug below, but it wasn't clear at
        the time whether the bug was the one below or something in the commit)
      
      - The local variable `untaggedfun` is now marked as a pointer so it
        survives GC.
      
      With this we finally fix all known bugs caught in #15508. `concprog001`
      now works reliably with prof+threaded and prof runtimes (with and
      without -debug).
      
      (cherry picked from commit 908b4b86)
      a481b199
  9. 12 Feb, 2019 1 commit
  10. 11 Feb, 2019 3 commits
    • Tamar Christina's avatar
      Stack: fix name mangling. · 0f253b89
      Tamar Christina authored
      (cherry picked from commit fb031b9b)
      0f253b89
    • Ben Gamari's avatar
      GhcPlugins: Fix lookup of TH names · 5abfd982
      Ben Gamari authored
      Previously `thNameToGhcName` was calling `lookupOrigNameCache` directly, which
      failed to handle the case that the name wasn't already in the name cache. This
      happens, for instance, when the name was in scope in a plugin being used during
      compilation but not in scope in the module being compiled. In this case we the
      interface file containing the name won't be loaded and `lookupOrigNameCache`
      fails. This was the cause of #16104.
      
      The solution is simple: use the nicely packaged `lookupOrigIO` instead.
      
      (cherry picked from commit 0d9f105b)
      5abfd982
    • Ben Gamari's avatar
      testsuite: Add test for #16104 · 8c2dbc16
      Ben Gamari authored
      8c2dbc16
  11. 09 Feb, 2019 1 commit
  12. 03 Feb, 2019 2 commits
  13. 28 Jan, 2019 7 commits
    • Ömer Sinan Ağacan's avatar
      Fix checkPtrInArena · 14001294
      Ömer Sinan Ağacan authored
      (See comments)
      
      (cherry picked from commit 448f0e7d)
      14001294
    • Ömer Sinan Ağacan's avatar
      Fix raiseAsync() UNDERFLOW_FRAME handling in profiling runtime · cf5b5a74
      Ömer Sinan Ağacan authored
      UNDERFLOW_FRAMEs don't have profiling headers so we have to use the
      AP_STACK's function's CCS as the new frame's CCS.
      
      Fixes one of the many bugs caught by concprog001 (#15508).
      
      (cherry picked from commit 74cd4ec5)
      cf5b5a74
    • Ömer Sinan Ağacan's avatar
      Implement a sanity check for CCS fields in profiling builds · 4f712fb3
      Ömer Sinan Ağacan authored
      This helped me debug one of the bugs in #15508. I'm not sure if this is
      a good idea, but it worked for me, so wanted to submit this as a MR.
      
      (cherry picked from commit 82d1a88d)
      4f712fb3
    • Ömer Sinan Ağacan's avatar
      Fix a MSG_BLACKHOLE sanity check, add some comments · ee6e4fcc
      Ömer Sinan Ağacan authored
      Reviewers: simonmar, bgamari, erikd
      
      Reviewed By: simonmar
      
      Subscribers: rwbarton, carter
      
      GHC Trac Issues: #15508
      
      Differential Revision: https://phabricator.haskell.org/D5178
      
      (cherry picked from commit d90946ce)
      ee6e4fcc
    • Ben Gamari's avatar
      rts: Use always-available locking operations in pthread Itimer implementation · 4f180640
      Ben Gamari authored
      Previously we ACQUIRE_LOCK and RELEASE_LOCK but these compile to a noop in the
      non-threaded RTS, as noted in #16150. Use OS_ACQUIRE_LOCK and OS_RELEASE_LOCK
      instead.
      
      (cherry picked from commit ce11f6f2)
      4f180640
    • Ben Gamari's avatar
      itimer: Don't free condvar until we know ticker is stopped · 7ec385f4
      Ben Gamari authored
      When we are shutting down the pthread ticker we signal the start_cond condition
      variable to ensure that the ticker thread wakes up and exits in a reasonable
      amount of time. Previously, when the ticker thread would shut down it was
      responsible for freeing the start_cond condition variable. However, this would
      lead to a race wherein the ticker would free start_cond, then the main thread
      would try to signal it in an effort to wake the ticker (#16150).
      
      Avoid this by moving the mutex destruction to the main thread.
      
      (cherry picked from commit 7b12b3f0)
      7ec385f4
    • Simon Peyton Jones's avatar
      Fix bogus worker for newtypes · ff47e60a
      Simon Peyton Jones authored
      The "worker" for a newtype is actually a function
      with a small (compulsory) unfolding, namely a cast.
      
      But the construction of this function was plain wrong
      for newtype /instances/; it cast the arguemnt to the
      family type rather than the representation type.
      
      This never actually bit us because, in the case of a
      family instance, we immediately cast the result to
      the family type.  So we get
         \x. (x |> co1) |> co2
      
      where the compositio of co1 and co2 is ill-kinded.
      However the optimiser (even the simple optimiser)
      just collapsed those casts, ignoring the mis-match
      in the middle, so we never saw the problem.
      
      Trac #16191 is indeed a dup of #16141; but the resaon
      these tickets produce Lint errors is not the unnecessary
      forcing; it's because of the ill-typed casts.
      
      This patch fixes the ill-typed casts, properly.  I can't
      see a way to trigger an actual failure prior to this
      patch, but it's still wrong wrong wrong to have ill-typed
      casts, so better to get rid of them.
      
      (cherry picked from commit a5373c1f)
      ff47e60a
  14. 17 Jan, 2019 1 commit
  15. 16 Jan, 2019 1 commit
  16. 11 Jan, 2019 1 commit
  17. 07 Jan, 2019 1 commit
    • Simon Marlow's avatar
      Fix recompilation bug with default class methods (#15970) · 08cfa615
      Simon Marlow authored
      If a module uses a class, then it can instantiate the class and
      thereby use its default methods, so we must include the default
      methods when calculating the fingerprint for the class.
      
      Test Plan:
      New unit test: driver/T15970
      
      Before:
      
      ```
      =====> T15970(normal) 1 of 1 [0, 0, 0]
      cd "T15970.run" && $MAKE -s --no-print-directory T15970
      Wrong exit code for T15970()(expected 0 , actual 2 )
      Stdout ( T15970 ):
      Makefile:13: recipe for target 'T15970' failed
      Stderr ( T15970 ):
      C.o:function Main_zdfTypeClassMyDataType1_info: error: undefined
      reference to 'A_toTypedData2_closure'
      C.o:function Main_main1_info: error: undefined reference to
      'A_toTypedData2_closure'
      C.o(.data+0x298): error: undefined reference to 'A_toTypedData2_closure'
      C.o(.data+0x480): error: undefined reference to 'A_toTypedData2_closure'
      collect2: error: ld returned 1 exit status
      `gcc' failed in phase `Linker'. (Exit code: 1)
      ```
      
      After: test passes.
      
      Reviewers: bgamari, simonpj, erikd, watashi, afarmer
      
      Subscribers: rwbarton, carter
      
      GHC Trac Issues: #15970
      
      Differential Revision: https://phabricator.haskell.org/D5394
      
      (cherry picked from commit 288f681e)
      08cfa615
  18. 30 Dec, 2018 2 commits
  19. 29 Dec, 2018 2 commits
  20. 27 Dec, 2018 2 commits
  21. 24 Dec, 2018 1 commit
  22. 15 Dec, 2018 1 commit