1. 19 Nov, 2014 8 commits
    • thomie's avatar
      Refactor: use System.FilePath.splitSearchPath · 6fc78fdf
      thomie authored
      Summary:
      To address #2521 ("Trailing colon on GHC_PACKAGE_PATH doesn't work with
      ghc-pkg"), we were using a custom version of splitSearchPath (e4f46f5d). This
      solution however caused issue #9698 ("GHC_PACKAGE_PATH should be more lenient
      for empty paths").
      
      This patch reverts back to System.FilePath.splitSearchPath (fixes #9698) and
      adresses (#2521) by testing for a trailing search path separators explicitly
      (instead of implicitly using empty search path elements).
      
      Empty paths are now allowed (ignored on Windows, interpreted as current
      directory on Posix systems), and trailing path separator still tack on the
      user and system package databases.
      
      Also update submodule filepath, which has a version of splitSearchPath which
      handles quotes in the same way as our custom version did.
      
      Test Plan:
      $ GHC_PACKAGE_PATH=/::/home: ./ghc-pkg list
      ...
      db stack: ["/",".","/home","<userdb>","<systemdb>"]
      ...
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie, carter, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D414
      
      GHC Trac Issues: #2521, #9698
      6fc78fdf
    • gintas's avatar
      The test runner now also works under the msys-native Python. · 101c62e2
      gintas authored
      Msys binaries apply heuristics to escape paths in arguments intended for
      non-msys binaries, which breaks timeout invocations, see #9626.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      101c62e2
    • Austin Seipp's avatar
      rts: remove old-style field designator extension (#9396) · 8e0a480c
      Austin Seipp authored
      Authored-by: jrp
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      8e0a480c
    • Herbert Valerio Riedel's avatar
      Optimise `Identity` instances with `coerce` · 4ba884bd
      Herbert Valerio Riedel authored
      This also overrides all optional `Foldable` methods
      (which would otherwise be default-implemented in terms of `foldMap`)
      with supposedly optimally minimal implementations.
      
      While at it, this also removes the redundant `{-# LANGUAGE CPP #-}`.
      
      Reviewed By: austin, dfeuer
      
      Differential Revision: https://phabricator.haskell.org/D467
      4ba884bd
    • Herbert Valerio Riedel's avatar
      Restore exact old semantics of `decodeFloat` · e2af452c
      Herbert Valerio Riedel authored
      `integer-gmp2` uses the new 64bit-based IEEE deconstructing primop
      introduced in b62bd5ec.
      
      However, the returned values differ for exceptional IEEE values:
      
      Previous (expected) semantics:
      
        > decodeFloat (-1/0)
        (-4503599627370496,972)
      
        > decodeFloat (1/0)
        (4503599627370496,972)
      
        > decodeFloat (0/0)
        (-6755399441055744,972)
      
      Currently (broken) semantics:
      
        > decodeFloat (-1/0 :: Double)
        (-9223372036854775808,-53)
      
        > decodeFloat (1/0 :: Double)
        (-9223372036854775808,-53)
      
        > decodeFloat (0/0 :: Double)
        (-9223372036854775808,-53)
      
      This patch reverts to the old expected semantics.
      
      I plan to revisit the implementation during GHC 7.11 development.
      
      This should address #9810
      
      Reviewed By: austin, ekmett, luite
      
      Differential Revision: https://phabricator.haskell.org/D486
      e2af452c
    • Herbert Valerio Riedel's avatar
      Reimplement im/export primitives for integer-gmp2 · 42244668
      Herbert Valerio Riedel authored
      The import/export operations were available in `integer-gmp-0.5.1`
      already, but need to be reimplemented from scratch for the
      `integer-gmp-1.0.0` rewrite.
      
      This also adds a few more operations than were previously available for
      use w/ the `BigNat` type (which will be useful for implementing
      serialisation for the upcoming `Natural` type)
      
      Specifically, the following operations are (re)added (albeit with
      slightly different type-signatures):
      
       - `sizeInBaseBigNat`
       - `sizeInBaseInteger`
       - `sizeInBaseWord#`
      
       - `exportBigNatToAddr`
       - `exportIntegerToAddr`
       - `exportWordToAddr`
       - `exportBigNatToMutableByteArray`
       - `exportIntegerToMutableByteArray`
       - `exportWordToMutableByteArray`
      
       - `importBigNatFromAddr`
       - `importIntegerFromAddr`
       - `importBigNatFromByteArray`
       - `importIntegerFromByteArray`
      
      NOTE: The `integerGmpInternals` test-case is updated but not yet
            re-enabled as it contains tests for other primitives which aren't
            yet reimplemented.
      
      This addresses #9281
      
      Reviewed By: austin, duncan
      
      Differential Revision: https://phabricator.haskell.org/D480
      42244668
    • Edward Z. Yang's avatar
      Support for "with" renaming syntax, and output a feature flag. · 7c748d9f
      Edward Z. Yang authored
      Summary:
      - Feature flag indicates to Cabal that we support thinning and renaming as
        it needs.
      
      - Support -package "base with (Foo as Bar)" which brings the ordinary
        modules into scope, as well as adding the renamings to scope.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D485
      7c748d9f
    • Edward Z. Yang's avatar
      When outputting list of available instances, sort it. · 1019e3c6
      Edward Z. Yang authored
      Summary:
      The intent of this commit is to make test suite cases more stable, so that
      it doesn't matter what order we load interface files in, the test output
      doesn't change.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D484
      1019e3c6
  2. 18 Nov, 2014 22 commits
  3. 17 Nov, 2014 2 commits
  4. 15 Nov, 2014 4 commits
    • Herbert Valerio Riedel's avatar
      Fix compilation of `integer-gmp2` with `-O0` · c45e2e29
      Herbert Valerio Riedel authored
      At optimization level `-O0` `wordToInteger` wasn't inlined, and this caused a
      `__integer` literal to turn up in final Core, which would trigger the GHC panic
      
        ghc-stage1: panic! (the 'impossible' happened)
          (GHC version 7.9.20141114 for x86_64-unknown-linux):
      	Can't use Integer in integer-*
      
      By forcing inlining via `inline` this is avoided.
      This should hopefully address #9800.
      c45e2e29
    • Herbert Valerio Riedel's avatar
      Update to (unreleased) `deepseq-1.4.0.0` · 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
      609cd28a
    • Herbert Valerio Riedel's avatar
      Workaround 452d6aa9 breaking TrustworthySafe03 · 18548252
      Herbert Valerio Riedel authored
      This is only a temporary kludge until the issue workarounded by 452d6aa9
      gets properly fixed
      18548252
    • Edward Z. Yang's avatar
      Generalize exposed-modules field in installed package database · e14a9732
      Edward Z. Yang authored
      Summary:
      Instead of recording exposed-modules and reexported-modules as seperate
      fields in the installed package database, this commit merges them into
      a single field (exposed-modules).  The motivation for this change is
      in preparation for the inclusion of *signatures* into the installed
      package database, which may also be reexported.  Merging the representation
      means that we can treat reexports uniformly, no matter if they're a normal
      module or a signature.
      
      This commit adds a stub for signatures, but that code isn't wired up to
      anything yet.
      
      Contains Cabal submodule update to accommodate these changes.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, duncan, austin
      
      Subscribers: thomie, carter, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D421
      e14a9732
  5. 14 Nov, 2014 2 commits
  6. 13 Nov, 2014 2 commits