1. 25 Sep, 2015 3 commits
    • Ben Gamari's avatar
      Dwarf: Ensure block length is encoded correctly · a0b1f414
      Ben Gamari authored
      This is supposed to be encoded with ULEB128 which the previous
      implementation would only guarranty with short lengths. This likely
      holds in nearly all cases, but I'd really rather not take changes.
      
      I fix this using the `.uleb128` directive. I'm not certain that this is
      portable across assemblers but it makes this quite straightforward and
      at the moment I value correctness over portability.
      
      Test Plan: Compare implementation to DWARF spec
      
      Reviewers: scpmw, austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1220
      a0b1f414
    • Ben Gamari's avatar
      Dwarf: Rename binding to avoid shadowing ppr · a98815a9
      Ben Gamari authored
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D1221
      a98815a9
    • Ben Gamari's avatar
      Weak: Don't require wrapping/unwrapping of finalizers · fb409264
      Ben Gamari authored
      To quote Simon Marlow,
      
          We don't expect users to ever write code that uses mkWeak# or
          finalizeWeak#, we have safe interfaces to these. Let's document the type
          unsafety and fix the problem with () without introducing any overhead.
      
      Updates stm submodule.
      fb409264
  2. 24 Sep, 2015 5 commits
  3. 23 Sep, 2015 9 commits
  4. 22 Sep, 2015 4 commits
    • Ben Gamari's avatar
      HscMain: Place CPP macro invocation on one line · 4cdab73f
      Ben Gamari authored
      Clang's CPP implementation seems to barf otherwise
      4cdab73f
    • Ryan Scott's avatar
      DeriveLift extension (#1830) · 089b72f5
      Ryan Scott authored
      Summary:
      This implements -XDeriveLift, which allows for automatic derivation
      of the Lift class from template-haskell. The implementation is based
      off of Ian Lynagh's th-lift library
      (http://hackage.haskell.org/package/th-lift).
      
      Test Plan: ./validate
      
      Reviewers: hvr, simonpj, bgamari, goldfire, austin
      
      Reviewed By: goldfire, austin
      
      Subscribers: osa1, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1168
      
      GHC Trac Issues: #1830
      089b72f5
    • niteria's avatar
      Make derived names deterministic · d4d34a73
      niteria authored
      The names of auxiliary bindings end up in the interface file, and since uniques
      are nondeterministic, we end up with nondeterministic interface files.
      
      This uses the package and module name in the generated name, so I believe it
      should avoid problems from #7947 and be deterministic as well.
      
      The generated names look like this now:
      
        `$cLrlbmVwI3gpI8G2E6Hg3mO`
      
      and with `-ppr-debug`:
      
        `$c$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal$String`.
      
      Reviewed By: simonmar, austin, ezyang
      
      Differential Revision: https://phabricator.haskell.org/D1133
      
      GHC Trac Issues: #4012
      d4d34a73
    • Eric Seidel's avatar
      base: use Show for ErrorCall in uncaughtExceptionHandler · 0b852fcf
      Eric Seidel authored
      The default top-level exception handler now uses the `Show` instance for
      `ErrorCall` when printing exceptions, so it will actually print the out-of-band
      data (e.g. `CallStack`s) in compiled binaries, instead of just printing the
      error message.
      
      This also updates the hpc submodule to fix the test output.
      
      Reviewed By: austin, thomie
      
      Differential Revision: https://phabricator.haskell.org/D1217
      0b852fcf
  5. 21 Sep, 2015 19 commits