1. 28 Aug, 2020 5 commits
  2. 24 Aug, 2020 1 commit
  3. 27 Jul, 2020 3 commits
    • Vladislav Zavialov's avatar
      Refactor the parser a little · 6ff89c17
      Vladislav Zavialov authored
      * Create a dedicated production for type operators
      * Create a dedicated type for the UNPACK pragma
      * Remove an outdated part of Note [Parsing data constructors is hard]
    • leiftw's avatar
    • Vladislav Zavialov's avatar
      Improve NegativeLiterals (#18022, GHC Proposal #344) · aee45d9e
      Vladislav Zavialov authored
      Before this patch, NegativeLiterals used to parse x-1 as x (-1).
      This may not be what the user expects, and now it is fixed:
      x-1 is parsed as (-) x 1.
      We achieve this by the following requirement:
        * When lexing a negative literal,
          it must not be preceded by a 'closing token'.
      This also applies to unboxed literals, e.g. -1#.
      See GHC Proposal #229 for the definition of a closing token.
      A nice consequence of this change is that -XNegativeLiterals becomes a
      subset of -XLexicalNegation. In other words, enabling both of those
      extensions has the same effect as enabling -XLexicalNegation alone.
  4. 26 Jul, 2020 8 commits
  5. 25 Jul, 2020 12 commits
  6. 24 Jul, 2020 3 commits
  7. 23 Jul, 2020 8 commits
    • Moritz Angermann's avatar
      [linker] Fix out of range relocations. · dff1cb3d
      Moritz Angermann authored
      mmap may return address all over the place. mmap_next will ensure we get
      the next free page after the requested address.
      This is especially important for linking on aarch64, where the memory model with PIC
      admits relocations in the +-4GB range, and as such we can't work with
      arbitrary object locations in memory.
      Of note: we map the rts into process space, so any mapped objects must
      not be ouside of the 4GB from the processes address space.
    • Sylvain Henry's avatar
      Minor refactoring of Unit display · 7f44df1e
      Sylvain Henry authored
      * for consistency, try to always use UnitPprInfo to display units to
      * remove some uses of `unitPackageIdString` as it doesn't show the
        component name and it uses String
    • Sebastian Graf's avatar
      Add regression test for #18478 · 02f40b0d
      Sebastian Graf authored
      !3392 backported !2993 to GHC 8.10.2 which most probably is responsible
      for fixing #18478, which triggered a pattern match checker performance
      regression in GHC 8.10.1 as first observed in #17977.
    • Krzysztof Gogolewski's avatar
      Define type Void# = (# #) (#18441) · cfa89149
      Krzysztof Gogolewski authored
      There's one backwards compatibility issue: GHC.Prim no longer exports
      Void#, we now manually re-export it from GHC.Exts.
    • Sylvain Henry's avatar
      Add test for #18064 · ff1b7710
      Sylvain Henry authored
      It has been fixed by 0effc57d
    • Andreas Klebinger's avatar
      Deprecate -fdmd-tx-dict-sel. · 15ce1804
      Andreas Klebinger authored
      It's behaviour is now unconditionally enabled as
      it's slightly beneficial.
      There are almost no benchmarks which benefit from
      disabling it, so it's not worth the keep this
      This fixes #18429.
    • Sylvain Henry's avatar
      Replace HscTarget with Backend · f7cc4313
      Sylvain Henry authored
      They both have the same role and Backend name is more explicit.
      Metric Decrease:
      Update Haddock submodule
    • Sylvain Henry's avatar
      Replace ghcWithNativeCodeGen with a proper Backend datatype · 735f9d6b
      Sylvain Henry authored
      * Represent backends with a `Backend` datatype in GHC.Driver.Backend
      * Don't detect the default backend to use for the target platform at
        compile time in Hadrian/make but at runtime. It makes "Settings"
        simpler and it is a step toward making GHC multi-target.
      * The latter change also fixes hadrian which has not been updated to
        take into account that the NCG now supports AIX and PPC64 (cf
        df26b955 and
      * Also we don't treat iOS specifically anymore (cf