1. 10 Nov, 2016 1 commit
    • Alex Biehl's avatar
      Fix comment about pointer tagging · 2325afe9
      Alex Biehl authored
      `Lcall` enters the closure. If it has tags we jump directly to `Lret`. 
      
      Confirmed with some generated cmm code: 
      
      ```
                 R1 = _s2pP::P64;
                 Sp = Sp - 8;
                 if (R1 & 7 != 0) goto c2x0; else goto c2x1;
             c2x1:
                 call (I64[R1])(R1) returns to c2x0, args: 8, res: 8, upd: 8;
             c2x0:
                 _s2pQ::P64 = R1;
      ```
      2325afe9
  2. 07 Nov, 2016 2 commits
    • Ryan Scott's avatar
      Update 8.0.2 release notes for #12784 · 2e8463b2
      Ryan Scott authored
      Summary:
      The fix for #12220 exposed some ill-typed programs which passed the typechecker
      in GHC 8.0.1 but now fail to typecheck in GHC 8.0.2. It's a bit difficult to
      characterize what exactly triggers this bug, but we at least have a minimal
      example and a simple fix to illustrate the problem and solution, so let's
      add that the the 8.0.2 release notes to advertise this change.
      
      Resolves #12784.
      
      Reviewers: rwbarton, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2682
      
      GHC Trac Issues: #12784
      2e8463b2
    • Simon Marlow's avatar
      Fix hs_try_putmvar003 (#12800) · 91f9e138
      Simon Marlow authored
      Summary:
      There was a race condition on some shared data when creating the
      callback thread.
      
      I couldn't repro the issue without inserting a dummy usleep(100), but
      it's definitely a bug.
      
      Test Plan: validate
      
      Reviewers: bgamari, austin, erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2678
      
      GHC Trac Issues: #12800
      91f9e138
  3. 06 Nov, 2016 6 commits
    • Tamar Christina's avatar
      Fix broken validate build. · 7d988dd4
      Tamar Christina authored
      7d988dd4
    • Tamar Christina's avatar
      Some minor linker cleanups. · 1964d869
      Tamar Christina authored
      Summary:
      Just some cleanups to some oddities I've noticed
      while investigating a linker issue.
      
      Particularly the dll name returned by `findSysDll`
      was decorated. So foo.dll is returned. We make it
      `foo.dll.dll` and later drop one `.dll` when passed to
      `addDll` which expects it without extension, but still
      tries the name *as is* which is why it worked.
      
      This should be slightly faster, since we don't try 4 loads
      before we succeed.
      
      Test Plan: ./validate
      
      Reviewers: austin, hvr, erikd, simonmar, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie, #ghc_windows_task_force
      
      Differential Revision: https://phabricator.haskell.org/D2680
      1964d869
    • Ryan Scott's avatar
      Describe symptoms of (and the cure for) #12768 in 8.0.2 release notes · ead83db8
      Ryan Scott authored
      GHC 8.0.2 introduced a bugfix involving GeneralizedNewtypeDeriving in
      96d45145. This made typechecking of
      GND-produced code a bit stricter, and an unfortunate side effect of this was
      that there were a couple of corner-case programs that stopped compiling
      when transitioning from GHC 8.0.1 to 8.0.2.
      
      Since the number of affected programs seems quite small, and since the fix
      is so straightforward, we opt to simply note this discrepancy in the 8.0.2
      release notes.
      
      Resolves #12768.
      ead83db8
    • Ryan Scott's avatar
      Allow GeneralizedNewtypeDeriving for classes with associated type families · 630d8817
      Ryan Scott authored
      Summary:
      This implements the ability to derive associated type family instances
      for newtypes automatically using `GeneralizedNewtypeDeriving`. Refer to the
      users' guide additions for how this works; I essentially follow the pattern
      laid out in https://ghc.haskell.org/trac/ghc/ticket/8165#comment:18.
      
      Fixes #2721 and #8165.
      
      Test Plan: ./validate
      
      Reviewers: simonpj, goldfire, austin, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: mpickering, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2636
      
      GHC Trac Issues: #2721, #8165
      630d8817
    • Matthew Pickering's avatar
      Add tracing infrastructure to pattern match checker · 25c8e80e
      Matthew Pickering authored
      Summary:
      This is the start of some tracing infrastructure which I found useful
      when working through how the pattern match checker worked.
      
      It adds the flag -ddump-ec-trace in order to turn on the trace.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2658
      25c8e80e
    • Matthew Pickering's avatar
      Stop -dno-debug-output suppressing -ddump-tc-trace · 1c886ead
      Matthew Pickering authored
      Summary:
      The user manual states that -dno-debug-output should suppress
      *unsolicited* debugging output which essentially amounts to calls
      to `pprTrace`. Before I unified the interface of `traceTc` and
      `traceRn`, the flag suppressed calls to `traceTc` but not to `traceRn`
      or any other tracing function already controlled by a flag.
      
      Thus, in order to make the behaviour more uniform, it seemed best to
      remove this one special case.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2628
      
      GHC Trac Issues: #12691
      1c886ead
  4. 05 Nov, 2016 2 commits
  5. 04 Nov, 2016 3 commits
  6. 03 Nov, 2016 5 commits
    • Simon Marlow's avatar
      Omit unnecessary linker flags · a977c965
      Simon Marlow authored
      Summary:
      This omits -L and -l flags from the linker command line that shouldn't
      be necessary because GHC will already add them via the -package-id
      flags we pass.
      
      This also reverts part of 90538d86
      that rearranges the linker command line and causes some knock-on
      problems (see D2618).
      
      Test Plan: validate (need to validate on Windows too)
      
      Reviewers: Phyx, bgamari, niteria, austin, erikd
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2639
      
      GHC Trac Issues: #12738
      a977c965
    • Alan Zimmerman's avatar
      API Annotations: make all ModuleName Located · f46bfeb8
      Alan Zimmerman authored
      Summary:
      This also changes the backpack Renaming type to use a Maybe for the
      renameTo field, to more accurately reflect the parsed source.
      
      Updates haddock submodule to match AST changes
      
      Test Plan: ./validate
      
      Reviewers: ezyang, bgamari, austin
      
      Reviewed By: bgamari
      
      Subscribers: thomie, mpickering
      
      Differential Revision: https://phabricator.haskell.org/D2670
      f46bfeb8
    • Ryan Scott's avatar
      Add test for #12788 · ec22bacd
      Ryan Scott authored
      Commit bce99086 (#12584) fixed #12788. Let's
      add a test to make sure it stays fixed.
      ec22bacd
    • Ben Gamari's avatar
      testsuite: Update T10858 allocations · eaa34823
      Ben Gamari authored
      eaa34823
    • Ben Gamari's avatar
      Merge cpe_ExprIsTrivial and exprIsTrivial · 967dd5c9
      Ben Gamari authored
      Strangely my previous attempts at resolving this all seemed to end in
      perplexing segmentation faults in the GHC testsuite (including some
      rather recent attempts). Somehow this attempt miraculously works.
      
      However, there was one wrinkle that I still need to work out fully: we
      need to consider Lits as non-trivial in cpeArg. Failure to do this means
      that we would transform something like,
      
          $trModule = TrModule "HelloWorld"#
      
      into
      
          $trModule = case "HelloWorld"# of x { __DEFAULT -> TrModule x }
      
      Which then fails the consistentStgInfo check in CoreToStg for reasons
      that I am still trying to work out.
      
      Mark T12757 as fixed
      
      Reviewers: simonmar, simonpj, austin
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2666
      
      GHC Trac Issues: #11158
      967dd5c9
  7. 02 Nov, 2016 20 commits
  8. 01 Nov, 2016 1 commit