1. 09 May, 2017 1 commit
    • Ben Gamari's avatar
      Treat banged bindings as FunBinds · 37299536
      Ben Gamari authored
      This reworks the HsSyn representation to make banged variable patterns
      (e.g. !x = e) be represented as FunBinds instead of PatBinds, adding a flag to
      FunRhs to record the bang.
      
      Fixes #13594.
      
      Reviewers: austin, goldfire, alanz, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: simonpj, rwbarton, thomie, mpickering
      
      Differential Revision: https://phabricator.haskell.org/D3525
      37299536
  2. 08 May, 2017 8 commits
    • Michal Terepeta's avatar
      Dataflow: use IntSet for mkDepBlocks · b99bae6d
      Michal Terepeta authored
      Using `IntSet` instead of `[Int]` is nicer since it gets rid of
      appending to a list (in the backward case) and folding over it is
      ordered.
      
      I also added a comment about how `mkDepBlocks` works since its
      behavior can be a bit surprising at first sight (it took me some time
      to see that it's doing the right thing ;)
      Signed-off-by: Michal Terepeta's avatarMichal Terepeta <michal.terepeta@gmail.com>
      
      Test Plan: ./validate
      
      Reviewers: austin, bgamari, simonmar
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3530
      b99bae6d
    • Matthew Pickering's avatar
      Add a failing test for T13644 · c5b28e06
      Matthew Pickering authored
      The problem originates in TcPat.find_field_ty but I don't know how to
      clearnly fix it.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      GHC Trac Issues: #13644
      
      Differential Revision: https://phabricator.haskell.org/D3535
      c5b28e06
    • Nolan's avatar
      Make XNegativeLiterals treat -0.0 as negative 0 · 0279b745
      Nolan authored
      Reviewers: austin, goldfire, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, mpickering
      
      GHC Trac Issues: #13211
      
      Differential Revision: https://phabricator.haskell.org/D3543
      0279b745
    • Moritz Angermann's avatar
      Fix Raspberry Pi · dc3b4af6
      Moritz Angermann authored
      This is two fold:
      
      - We did not catch all ARM_ARCH_6 defines. Specifically not `6K` and
        `6KZ`, which is what llvm seems to use these days for
        `arm-none-linux-gnueabihf` (e.g. the triple that's used for raspbian
        as well). Without it, ghc assums we want to compile against some armv7
        system, which raspbian is not (it is armv6 for maximum compatibility
        across the pi family, compromising on using armv7 and up features).
      
      - We stop forcing the -m and -arch flags on macOS. This is troublesome,
        as compiling for a 32bit system (e.g. raspberry pi, on a x86_64 macOS
        system results in the `-m64` flag being passed to to clang as well,
        which in turn figures out that you likely want 64bit, and rewrites
        your taret from `arm-none-linux-gnueabihf` to
        `aarch64-none-linux-gnueabihf`, which is definetly not what you want.
      
      Reviewers: austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, erikd
      
      Differential Revision: https://phabricator.haskell.org/D3546
      dc3b4af6
    • David Feuer's avatar
      Optimize casMutVar# for single-threaded RTS · ff7a3c4f
      David Feuer authored
      The single-threaded RTS shouldn't actually need to use CAS to
      implement `casMutVar#`; there are no other threads to coordinate
      with.
      
      Reviewers: austin, bgamari, erikd, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3544
      ff7a3c4f
    • Ben Gamari's avatar
      OptCoercion: Ensure that TyConApps match in arity · 87ff5d4f
      Ben Gamari authored
      Previously OptCoercion would potentially change the type of UnivCo
      coercions of the shape,
      ```
      co :: TyCon arg1 ... argN ~ TyCon arg1' ... argN'
      ```
      where the arities of the left and right applications differ. In this
      case we
      would try to zip the two argument lists, meaning that one would get
      truncated.
      
      One would think this could never happen since it implies we are
      applying the
      same TyCon to two different numbers of arguments. However, it does
      arise in the
      case of applications of the `Any` tycon, which arises from the
      typechecker (in
      `Data.Typeable.Internal`) where we end up with an `UnsafeCo`,
      ```
      co :: Any (Any -> Any) Any ~ Any (Any -> Any)
      ```
      
      Test Plan: Validate
      
      Reviewers: simonpj, austin, goldfire
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, thomie
      
      GHC Trac Issues: #13658
      
      Differential Revision: https://phabricator.haskell.org/D3545
      87ff5d4f
    • Ben Gamari's avatar
      users-guide: Fix a variety of warnings · 476307ce
      Ben Gamari authored
      Including #13665.
      476307ce
    • niteria's avatar
      [Docs] Prefer cost centre · c685a447
      niteria authored
      There may be some subtlety I'm not seeing with the usage
      of center vs centre. Otherwise this makes it more consistent
      in the docs.
      There's one instance in 8.0.2-notes.rst, but I'm not sure if
      we want to modify it retroactively.
      
      Test Plan: harbormaster?
      
      Reviewers: bgamari, austin
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D3548
      c685a447
  3. 07 May, 2017 3 commits
  4. 06 May, 2017 3 commits
  5. 05 May, 2017 2 commits
  6. 04 May, 2017 18 commits
  7. 03 May, 2017 5 commits