1. 02 Apr, 2015 1 commit
    • thomie's avatar
      Disable same warnings for normal builds as for validate (#10223) · 4c1e1c87
      thomie authored
      The default validate settings currently disable some warnings in the
      libraries. This patch moves those settings to a new file called
      `mk/warnings.mk`, and applies them also to normal builds.
      Through uncommenting a line in build.mk, developers can now build with
      -Werror is not the default, because:
      * We can not guarantee that the build is warning free on platforms we
        don't run regularly run validate (as part of continuous integration
        systems), and we still want the build to go through on those
      * quoting rwbarton on irc > "I think -Werror by default has come up in
        the past and the argument was that it is too annoying when you are
        doing nontrivial development"
      Reviewed By: austin
      Differential Revision: https://phabricator.haskell.org/D785
  2. 06 Jan, 2015 1 commit
  3. 28 Dec, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Update validate-settings.mk · 6c86635d
      Herbert Valerio Riedel authored
      This drops a couple of `-fno-warn-*` which seem to have become obsolete
      by now.
      Moreover, with the cleaned up settings `./validate` passes with GHC
      7.10.1 as bootstrap compiler.
  4. 27 Dec, 2014 1 commit
  5. 09 Dec, 2014 1 commit
  6. 24 Nov, 2014 1 commit
  7. 17 Nov, 2014 1 commit
  8. 15 Nov, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Update to (unreleased) `deepseq-` · 609cd28a
      Herbert Valerio Riedel authored
      This pulls in the new `Generic`-based `-XDefaultSignature`-based default
      implementation for `rnf`[1], and will be interesting to use in combination
      with the soon to be merged `-XDeriveAnyClass` extension.
      This requires updating several other submodules as well in order
      to relax the upper bound on `deepseq` and/or in a few cases to
      avoid relying on the default method implementation of `rnf`:
       - `Cabal`
       - `bytestring`
       - `containers`
       - `parallel`
       - `process`
       - `time`
       [1]: http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/23031
  9. 13 Nov, 2014 1 commit
  10. 30 Oct, 2014 1 commit
  11. 21 Oct, 2014 1 commit
    • mlen's avatar
      Enabled warn on tabs by default (fixes #9230) · 972ba121
      mlen authored
      This revision enables -fwarn-tabs by default and add a suppression
      flag, so that GHC compilation won't fail when some files contain tab
      Test Plan: Additional test case, T9230, was added to cover that change.
      Reviewers: austin
      Reviewed By: austin
      Subscribers: simonmar, ezyang, carter, thomie, mlen
      Differential Revision: https://phabricator.haskell.org/D255
      GHC Trac Issues: #9230
  12. 21 Sep, 2014 1 commit
  13. 09 Sep, 2014 1 commit
    • Austin Seipp's avatar
      Make Applicative a superclass of Monad · d94de872
      Austin Seipp authored
      This includes pretty much all the changes needed to make `Applicative`
      a superclass of `Monad` finally. There's mostly reshuffling in the
      interests of avoid orphans and boot files, but luckily we can resolve
      all of them, pretty much. The only catch was that
      Alternative/MonadPlus also had to go into Prelude to avoid this.
      As a result, we must update the hsc2hs and haddock submodules.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      Test Plan: Build things, they might not explode horribly.
      Reviewers: hvr, simonmar
      Subscribers: simonmar
      Differential Revision: https://phabricator.haskell.org/D13
  14. 31 Aug, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Re-export Word from Prelude (re #9531) · 393b8202
      Herbert Valerio Riedel authored
      The original proposal text can be found at
      The proposal passed with a clear majority, and was additionally
      confirmed by the core libraries committee.
      *Compatibility Note*
      Only code that imports `Data.Word` for the sole purpose of using `Word`
      *and* requires to be `-Werror`-clean (due to `-fwarn-unused-imports`)
      is affected by this change.
      In order to write warning-free forward/backward compatible against `base`,
      a variant of the following CPP-based snippet can be used:
        -- Starting with base>4.7.0 or GHC>7.8 Prelude re-exports 'Word'
        -- The following is needed, if 'Word' is the *only* entity needed from Data.Word
        #ifdef MIN_VERSION_base
        # if !MIN_VERSION_base(4,7,1)
        import Data.Word (Word)
        # endif
        -- no cabal_macros.h -- fallback to __GLASGOW_HASKELL__
        #elif __GLASGOW_HASKELL__ < 709
        import Data.Word (Word)
      This also updates the haddock submodule in order to avoid a compile warning
  15. 29 Aug, 2014 1 commit
  16. 20 Apr, 2014 1 commit
  17. 12 Sep, 2013 1 commit
    • Austin Seipp's avatar
      Implement the AMP warning (#8004) · 75a9664a
      Austin Seipp authored
      This patch implements a warning when definitions conflict with the
      Applicative-Monad Proposal (AMP), described in #8004. Namely, this will
      cause a warning iff:
          * You have an instance of Monad, but not Applicative
          * You have an instance of MonadPlus, but not Alternative
          * You locally defined a function named join, <*>, or pure.
      In GHC 7.10, these warnings will actually be enforced with superclass
      constraints through changes in base, so programs will fail to compile
      This warning is enabled by default. Unfortunately, not all of
      our upstream libraries have accepted the appropriate patches. So we
      temporarily fix ./validate by ignoring the AMP warning.
      Dan Rosén made an initial implementation of this change, and the
      remaining work was finished off by David Luposchainsky. I finally made
      some minor refactorings.
      Authored-by: danr's avatarDan Rosén <danr@chalmers.se>
      Authored-by: quchen's avatarDavid Luposchainsky <dluposchainsky@gmail.com>
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
  18. 04 Sep, 2013 2 commits
  19. 17 Mar, 2013 1 commit
  20. 15 Mar, 2013 1 commit
  21. 01 Mar, 2013 1 commit
  22. 03 Jan, 2013 1 commit
  23. 02 Jan, 2013 1 commit
  24. 23 Nov, 2012 2 commits
  25. 26 Oct, 2012 1 commit
  26. 25 Oct, 2012 1 commit
  27. 19 Oct, 2012 1 commit
  28. 03 Oct, 2012 1 commit
    • ian@well-typed.com's avatar
      Build the dynamic way by default on Linux/amd64 · 898cb090
      ian@well-typed.com authored
      This required various build system changes to get the build to go
      In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs
      to find their libraries. In the future, we might change the inplace tree
      to be the same shape as an installed tree instead. However, this would
      mean changing the way we do installation, as currently we use cabal's
      installation methods to install the libraries, but that only works if
      the libraries are under libraries/foo/dist-install/build/..., rather
      than in inplace/lib/...
  29. 23 Sep, 2012 1 commit
  30. 26 Jul, 2012 1 commit
  31. 24 Jul, 2012 2 commits
  32. 07 May, 2012 1 commit
  33. 26 Apr, 2012 1 commit
    • Ian Lynagh's avatar
      Add SRC_[CH]C_WARNING_OPTS · 3d8dd486
      Ian Lynagh authored
      This allows you to say things like
          SRC_HC_WARNING_OPTS += -fno-warn-unsupported-calling-conventions
      in mk/validate.mk.
      Unfortunately, we can't just use SRC_HC_OPTS, as that gets put before
      the more specific options (e.g. ghc-options in a .cabal file), many of
      which include -Wall. So now we have:
          ghc $(SRC_HC_OPTS) ... options from .cabal etc ... $(SRC_HC_WARNING_OPTS)
  34. 25 Jan, 2012 1 commit
  35. 19 Jan, 2012 1 commit
    • Ian Lynagh's avatar
      Fix validate · 8bdcc5cf
      Ian Lynagh authored
      This patch defines a flag -fno-warn-pointless-pragmas, and uses it to
      disable some warnings in the containers package.
      Along the way, also made a ContainsDynFlags class, and added a
      HasDynFlags instance for IOEnv (and thus TcRnIf and DsM).
  36. 19 Dec, 2011 1 commit
  37. 16 Nov, 2011 1 commit
    • Simon Marlow's avatar
      Make the --fast option to validate faster, and add --normal · 1bbb89f3
      Simon Marlow authored
      The --fast option now disables the following:
        - dynamic libs
        - bindist and bindisttest
      Which knocks several minutes off validate for me, but it's still over
      30 minutes using 5 cores on 64-bit Linux.
      Usual caveats apply: if you're using --fast, then make sure you aren't
      doing anything that might destabilise dynamic libs or binary dists.