1. 21 Aug, 2017 1 commit
  2. 19 Aug, 2017 6 commits
    • Ben Gamari's avatar
      Revert "Add strict variant of iterate" · 1cdceb9f
      Ben Gamari authored
      This was not ready to commit.
      This reverts commit 8e5b6ec6.
    • Tamar Christina's avatar
      Correct incorrect free in PE linker · ee2e9ece
      Tamar Christina authored
      The big-obj support (D3523) had introduced an early free on
      the info structure. Because the pointer is not NULL'd
      and the default of all the utility functions was to the
      standard object format, it all kept working.
      The one big-obj test that exists was subjected to a timing issue.
      usually the test ran quickly enough that the allocator hasn't
      had time to reclaim the memory yet, so it still passed.
      This corrects it. Also as it so happens, static LLVM libraries
      from mingw-w64 are compiled using big-obj.
      Test Plan: ./validate
      Reviewers: austin, bgamari, erikd, simonmar
      Reviewed By: bgamari
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #13815, #13093
      Differential Revision: https://phabricator.haskell.org/D3862
    • Ben Gamari's avatar
      Add strict variant of iterate · 8e5b6ec6
      Ben Gamari authored
      This closes the nearly-eight-year-old #3474.
    • patrickdoc's avatar
      users_guide: Convert mkUserGuidePart generation to a Sphinx extension · cf8ab1ce
      patrickdoc authored and Ben Gamari's avatar Ben Gamari committed
      This removes all dependencies the users guide had on `mkUserGuidePart`.
      The generation of the flag reference table and the various pieces of the
      man page is now entirely contained within the Spinx extension
      `flags.py`. You can see the man page generation on the orphan page
      The extension works by collecting all of the meta-data attached to the
      `ghc-flag` directives and then formatting and displaying it at
      `flag-print` directives. There is a single printing directive that can
      be customized with two options, what format to display (table, list, or
      block of flags) and an optional category to limit the output to
      (verbosity, warnings, codegen, etc.).
      New display formats can be added by creating a function
      `generate_flag_xxx` (where `xxx` is a description of the format) which
      takes a list of flags and a category and returns a new `xxx`. Then just
      add a reference in the dispatch table `handlers`. That display can now
      be run by passing `:type: xxx` to the `flag-print` directive.
      `flags.py` contains two maps of settings that can be adjusted. The first
      is a canonical list of flag categories, and the second sets default
      categories for files.
      The only functionality that Sphinx could not replace was the
      `what_glasgow_exts_does.gen.rst` file. `mkUserGuidePart` actually just
      reads the list of flags from `compiler/main/DynFlags.hs` which Sphinx
      cannot do. As the flag is deprecated, I added the list as a static file
      which can be updated manually.
      Additionally, this patch updates every single documented flag with the
      data from `mkUserGuidePart` to generate the reference table.
      Fixes #11654 and, incidentally, #12155.
      Reviewers: austin, bgamari
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #11654, #12155
      Differential Revision: https://phabricator.haskell.org/D3839
    • Ben Gamari's avatar
      Enable -Wcpp-undef for GHC and runtime system · 6267d8c9
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      This gets us much of the benefit of enabling it globally, which avoiding
      (at least for now) the pain of making the core libraries build as well.
      See #13636.
      Test Plan: Validate
      Reviewers: erikd, austin
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #13636
      Differential Revision: https://phabricator.haskell.org/D3517
    • quchen's avatar
      Doctests for Data.Tuple · f50e30e0
      quchen authored and Ben Gamari's avatar Ben Gamari committed
  3. 18 Aug, 2017 6 commits
  4. 17 Aug, 2017 21 commits
  5. 16 Aug, 2017 3 commits
  6. 15 Aug, 2017 3 commits