1. 20 Sep, 2015 1 commit
    • Edward Z. Yang's avatar
      Always run explicitly requested ways (extra_ways) for fast runs. · b89c4913
      Edward Z. Yang authored
      To keep validates fast, we only one run one way.  But I think that
      it's important for some tests to run them a few ways, just to
      make sure functionality, e.g. the profiler, is working.  This commit
      changes the logic so that any way specified in extra_ways is always
      run for fast.  The big changes is now profiling tests are run on
      I also made it so the G1 garbage collector tests only run on slow.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      Test Plan: validate
      Reviewers: austin, thomie, bgamari
      Reviewed By: austin, thomie, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1251
  2. 19 Sep, 2015 2 commits
    • eir@cis.upenn.edu's avatar
      Polish some error messages. · 8ee2b953
      eir@cis.upenn.edu authored
    • eir@cis.upenn.edu's avatar
      Fix #10815 by kind-checking type patterns against known kinds. · 2d4db40a
      eir@cis.upenn.edu authored
      tcFamTyPats now must take information about the instantiation of any
      class variables, when checking the instance of an associated type.
      Getting this to work out required some unexpected refactoring in
      TcDeriv. TcDeriv needs to look at class instances because of the
      possibility of associated datatypes with `deriving` specs. TcDeriv
      worked over the user-specified instances. But any data family instances
      were already processed, and TcDeriv had no way of finding the rep
      tycons. Indeed, TcDeriv *re-type-checked* any data family instances
      in an attempt to rediscover what GHC already knew. So, this commit
      introduces better tracking of compiled data families between TcInstDcls
      and TcDeriv to streamline all of this.
  3. 18 Sep, 2015 1 commit
  4. 17 Sep, 2015 5 commits
    • thomie's avatar
      Docs: make sure all libs are included in index.html (#10879) · 48746fff
      thomie authored
      During the build, when HADDOCK_DOCS=YES, the command 'cd libraries && sh
      gen_contents_index --intree' is run, which calls haddock to generate the
      haddock index at 'libraries/dist-haddock/index.html'.
      What it did before was check the ./packages file for all libraries. The
      problem is that 'base' and 'ghc-prim' were folded into the main repo
      some time ago, hence don't have an entry in the ./packages file anymore.
      As a result, 'base' and 'ghc-prim' were missing from the index.html
      It now simply runs haddock on all the all the `.haddock` files in the
      libraries directory.
      The only risk is that this could include the extra libraries in the
      index.html, if you ever built them in the past (with
      BUILD_EXTRA_PKGS=YES), even though now you want to exclude them (with
      BUILD_EXTRA_PKGS=NO). gen_contents_index doesn't have access to build
      system variables though (PACKAGES_STAGE1+PACKAGES_STAGE2), so fixing
      this would be a little bit fiddly.
      Test Plan:
      'make libraries/dist-haddock/index.html && grep -q base
      libraries/dist-haddock/index.html && echo ok'
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1247
    • Ryan Scott's avatar
      Add namePackage function to template-haskell · 77662e13
      Ryan Scott authored
      Currently there exists a nameBase function (for retrieving a Name's OccName)
      and a nameModule function (for retrieving a Name's ModName), but there is no
      counterpart for PkgNames.
      This would be useful for implementing Template Haskell features which need
      to have easy access to a Name's package (e.g., automatically derived Lift
      Reviewed By: goldfire, austin, thomie
      Differential Revision: https://phabricator.haskell.org/D1237
    • Simon Marlow's avatar
      ApplicativeDo transformation · 8ecf6d8f
      Simon Marlow authored
      This is an implementation of the ApplicativeDo proposal.  See the Note
      [ApplicativeDo] in RnExpr for details on the current implementation,
      and the wiki page https://ghc.haskell.org/trac/ghc/wiki/ApplicativeDo
      for design notes.
      Test Plan: validate
      Reviewers: simonpj, goldfire, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D729
    • Moritz Kiefer's avatar
      Show minimal complete definitions in ghci (#10847) · 43eb1dc5
      Moritz Kiefer authored
      Show the minimal complete definition on :info in ghci. They
      are shown like MINIMAL pragmas in code. If the minimal complete
      definition is empty or only a specific method from a class is
      requested, nothing is shown.
      Reviewed By: simonpj, austin, thomie
      Differential Revision: https://phabricator.haskell.org/D1241
    • thomie's avatar
      Testsuite: add test for #10781 · 8d89d80d
      thomie authored
  5. 16 Sep, 2015 1 commit
  6. 15 Sep, 2015 2 commits
    • thomie's avatar
      Fix `hp2ps -i-` · 325efac2
      thomie authored
      From the help text:
        -i[+|-] sort by identifier string (-i+ gives greatest on top)
      Found by David Binderman.
    • Sebastian Reuße's avatar
      Pretty: fix unicode arrow operators. · 14c4090e
      Sebastian Reuße authored
      As per issue #10509, the documentation gave the wrong glyphs for Unicode
      alternatives to the -< and >- arrow operators (the codepoints were
      correct, but the glyphs were not). The incorrect glyphs have also
      made it into the error output. This replaces those characters with the
      correct versions.
      GHC Trac Issues: #10883
  7. 14 Sep, 2015 1 commit
  8. 12 Sep, 2015 5 commits
  9. 11 Sep, 2015 13 commits
  10. 10 Sep, 2015 1 commit
  11. 09 Sep, 2015 1 commit
  12. 08 Sep, 2015 7 commits
    • kanetw's avatar
      Forbid annotations when Safe Haskell safe mode is enabled. · 4356dacb
      kanetw authored
      For now, this fails compliation immediately with an error. If desired, this
      can be a warning that annotations in Safe Haskell are ignored.
      Signed-off-by: kanetw's avatarDavid Kraeutmann <kane@kane.cx>
      Reviewed By: goldfire, austin
      Differential Revision: https://phabricator.haskell.org/D1226
      GHC Trac Issues: #10826
    • Ben Gamari's avatar
      HeapStackCheck: Small refactoring · dbb4e415
      Ben Gamari authored
      Use modern Cmm argument syntax in stg_block_blackhole definition.
      Reviewed By: simonmar, austin
      Differential Revision: https://phabricator.haskell.org/D1210
    • thomie's avatar
      Build system: check for inconsistent settings (#10157) · 1b8eca18
      thomie authored
      `configure` currently detects when the docbook and hscolour tools aren't
      available, and instead of failing outright (as it does for missing alex
      and happy), sets some variables in mk/config.mk to tell `make` not to
      build the documentation.
      Sometimes, however, you want to really make sure all documentation gets
      built, fully colourized. For example when making a release. To do so,
      you can override the mentioned variables from mk/config.mk in
      mk/build.mk (e.g. set HSCOLOUR_SRCS=YES).
      This patch adds some error checking to make sure that doing so will not
      result in weird build failures when those tools are still missing.
      Test Plan: ran `make` a couple of times, with different mk/config.mk settings.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1232
    • Ben Gamari's avatar
      Move GeneralCategory et al to GHC.Unicode · e4a73f4f
      Ben Gamari authored
      This allows these to be used from Text.Read.Lex import cycles.
      Reviewed By: thomie, austin
      Differential Revision: https://phabricator.haskell.org/D1121
      GHC Trac Issues: #10444
    • thomie's avatar
      Build system: cleanup BUILD_DIRS + add lots of Notes · 8be43dd9
      thomie authored
      See Note [CrossCompiling vs Stage1Only] in mk/config.mk.in.
      See Note [Stage1Only vs stage=1] in mk/config.mk.in.
      See Note [No stage2 packages when CrossCompiling or Stage1Only].
        * use stage2 to build mkUserGuidePart, as was probably intended.
          Now the following represent the same set of packages:
          - packages that we build with ghc-stage2
          - packages that depend on the ghc library
          Those packages are: haddock, mkUserGuidePart and ghctags.
        * don't let utils that don't depend on the ghc library depend on its
          package-data.mk file. Instead, let those utils directly depend on
          the package-data.mk files of the stage1 packages. Not sure if it
          improves anything, but I found it easier to explain what's going on
          this way.
      (partially) reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1218
    • thomie's avatar
      Build system: make *-cross BuildFlavours consistent (#10223) · 330fbbda
      thomie authored
      This is a follow up to 841924c9,
      where `-fllvm` was explicitly removed from GhcStage1HcOpts for
      After removing -fllvm from GhcStage1HcOpts, it should be removed from
      SRC_HC_OPTS as well, because SRC_HC_OPTS are added to every Haskell
      compilation. That's what this patch does.
      BuildFlavour bench-cross (added in ddf79ebf),
      is probably never used. But for consistency, also use -fllvm here, for
      building stage2 and the libraries.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1228
    • thomie's avatar
      Build system: delete the InstallExtraPackages variable · a1586074
      thomie authored
      Just install all packages that are built. Don't make an exception for
      the dph and extra packages.
      You can control whether the dph and extra packages should be build using
      the variables BUILD_DPH and BUILD_EXTRA_PKGS. These variables didn't
      exist before. But now that they do, InstallExtraPackages isn't really
      needed anymore.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1227