1. 11 Sep, 2015 10 commits
  2. 10 Sep, 2015 1 commit
  3. 09 Sep, 2015 1 commit
  4. 08 Sep, 2015 9 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
    • Thomas Miedema's avatar
      Build system: check for inconsistent settings (#10157) · 1b8eca18
      Thomas Miedema 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
    • Thomas Miedema's avatar
      Build system: cleanup BUILD_DIRS + add lots of Notes · 8be43dd9
      Thomas Miedema 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
    • Thomas Miedema's avatar
      Build system: make *-cross BuildFlavours consistent (#10223) · 330fbbda
      Thomas Miedema 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
    • Thomas Miedema's avatar
      Build system: delete the InstallExtraPackages variable · a1586074
      Thomas Miedema 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
    • Thomas Miedema's avatar
      Build system: remove hack for Mac OSX in configure.ac (#10476) · 864a9c4f
      Thomas Miedema authored
      Cross-compilation on Mac OSX currently doesn't work. While building
      stage 1, the build system uses the `ar` for the target architecture
      instead of the `ar` for build/host architecture.
      The cause is a hack added in 24746fe7
      (2010), to supporting bootstrap compilers built with older versions of
      Xcode. Xcode 4.3 started installing command line tools in a different
      location. Assuming this all behind us now, and the paths didn't change
      again (you never now), we can delete the hack.
      Deleting the hack fixes the cross compilation issue. Tested by Trac user
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1231
    • Thomas Miedema's avatar
      Build system: detect when user cloned from GitHub · 554be5e7
      Thomas Miedema authored
      Cloning the ghc repository from GitHub doesn't work out of the box. It
      requires installing some special url rewrites into ~/.gitconfig. The
      build fails mysteriously if you forget. This patch tries to detect when
      you cloned from GitHub, and warns you if you didn't set those url
      This hopefully lowers to barrier to contribute to GHC by a tiny bit. At
      least one /r/haskell user ran into this recently.
      Test Plan:
      cloned from github, ran ./boot, saw the message. Installed url
      rewrites, and ran ./boot again, didn't see the message.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1230
  5. 07 Sep, 2015 5 commits
    • Joachim Breitner's avatar
      Further simplify the story around minimum/maximum · c6b82e99
      Joachim Breitner authored
      After I have found out that I should look at -ddump-prep and not
      -ddump-core, I noticed that these days, GHC is perfectly capeable of
      turning (the equivalent) of foldl to (the equivalent) of foldl' if the
      operation in question is strict. So instead of using rewrite rules to
      rewrite maximum to a strictMaximum for certain types, we simply use
      This also marks maximum/minimum as INLINEABLE, so that client code can
      get similar specializations, hopefully even automatically. And inded,
      minimum applied to [Double] produces good code (although due to
      inlineing, not due to specialization, it seems).
      I checked (by looking at the core) that this still fixes #10788.
      Differential revision: https://phabricator.haskell.org/D1229
    • Joachim Breitner's avatar
      SPECIALIZE strictMinimum for Int and Integer · dc671a1c
      Joachim Breitner authored
      This fixes a regression reported in #10788, where due to less inlining
      compared to earlier versions, we’d get worse code. With the SPECIALIZE,
      we get the good code, and moreover, the good code is in List.hs and
      _not_ inlined to the use site, so smaller code size and less compilation
    • Thomas Miedema's avatar
      Build system: cleanup utils/ghc-pkg/ghc.mk · 1abbacd6
      Thomas Miedema authored
      There used to be a lot of custom make code to build ghc-pkg with the
      stage0 compiler. Commit ac5a3145
      thankfully cleaned this up, by using the build settings from the
      ghc-pkg.cabal file.
      This commit removes some remains of the old way of installing ghc-pkg
      when Stage1Only=YES. Notably, we called both `build-prog` as
      `shell-wrapper`. This is surely wrong, because `build-prog` already
      calls `shell-wrapper`. It isn't needed to set WANT_INSTALLED_WRAPPER
      either; build-prog does that for us.
      This prevents the following warnings when Stage1Only=YES:
        utils/ghc-pkg/ghc.mk:46: warning:
          overriding commands for target `install_utils/ghc-pkg_dist_wrapper'
        utils/ghc-pkg/ghc.mk:37: warning:
          ignoring old commands for target `install_utils/ghc-pkg_dist_wrapper'
      Also add more comments and restructure a bit.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1063
    • Thomas Miedema's avatar
      Build system: simplify *-llvm BuildFlavours (#10223) · b40e5595
      Thomas Miedema authored
      Note that SRC_HC_OPTS are added to every Haskell compilation. So
      there isn't any need to also add `-fllvm` to GhcStage1HcOpts,
      GhcStage2HcOpts and GhcLibHcOpts.
      Small bug fix: make sure we test for -fllvm in SRC_HC_OPTS, to check
      whether the bootstrap compiler is affected by bug #9439.
      Reviewed by: austin
      Differential Revision: https://phabricator.haskell.org/D1188
    • Thomas Miedema's avatar
      Build system: put each BuildFlavour in a separate file (#10223) · 2c24fd70
      Thomas Miedema authored
      This allows easier diffing of different BuildFlavours, including
      Reviewed By: bgamari, austin
      Differential Revision: https://phabricator.haskell.org/D1050
  6. 05 Sep, 2015 3 commits
  7. 04 Sep, 2015 4 commits
  8. 03 Sep, 2015 6 commits
  9. 02 Sep, 2015 1 commit