Skip to content
Snippets Groups Projects
  1. Dec 02, 2014
  2. Dec 01, 2014
  3. Nov 30, 2014
    • Herbert Valerio Riedel's avatar
      Unlit AsmCodeGen.lhs · 7ad38460
      Herbert Valerio Riedel authored
      Fwiw, this wasn't really a proper .lhs to begin with...
      7ad38460
    • Herbert Valerio Riedel's avatar
      Unlit compiler/cmm/ module(s) · 0c48750a
      Herbert Valerio Riedel authored
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D540
      0c48750a
    • Edward Z. Yang's avatar
    • sivteck's avatar
      compiler: fix trac issue #8815 · 780b061c
      sivteck authored
      Summary: This patch changes the error message as suggested in trac issue #8815 comments.
      
      Reviewers: jstolarek, austin
      
      Reviewed By: jstolarek, austin
      
      Subscribers: jstolarek, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D533
      
      GHC Trac Issues: #8815
      780b061c
    • Austin Seipp's avatar
      compiler: unlit profiling/ modules · aede9f09
      Austin Seipp authored
      Summary: Signed-off-by: Austin Seipp <austin@well-typed.com>
      
      Test Plan: `./validate`
      
      Reviewers: hvr
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D537
      aede9f09
    • Peter Trommler's avatar
      Fix obscure problem with using the system linker (#8935) · 383733b9
      Peter Trommler authored
      Summary:
      In a statically linked GHCi symbol `environ` resolves to NULL when
      called from a Haskell script.
      
      When resolving symbols in a Haskell script we need to search the
      executable program and its dependent (DT_NEEDED) shared libraries
      first and then search the loaded libraries.
      
      We want to be able to override functions in loaded libraries later.
      Libraries must be opened with local scope (RTLD_LOCAL) and not global.
      The latter adds all symbols to the executable program's symbols where
      they are then searched in loading order. We want reverse loading order.
      
      When libraries are loaded with local scope the dynamic linker
      cannot use symbols in that library when resolving the dependencies
      in another shared library. This changes the way files compiled to
      object code must be linked into temporary shared libraries. We link
      with the last temporary shared library created so far if it exists.
      Since each temporary shared library is linked to the previous temporary
      shared library the dynamic linker finds the latest definition of a
      symbol by following the dependency chain.
      
      See also Note [RTLD_LOCAL] for a summary of the problem and solution.
      
      Cherry-picked commit 2f8b4c
      
      Changed linker argument ordering
      
      On some ELF systems GNU ld (and others?) default to
      --as-needed and the order of libraries in the link
      matters.
      
      The last temporary shared library, must appear
      before all other libraries. Switching the position
      of extra_ld_inputs and lib_path_objs does that.
      
      Fixes #8935 and #9186
      
      Reviewers: austin, hvr, rwbarton, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: thomie, carter, simonmar
      
      Differential Revision: https://phabricator.haskell.org/D349
      
      GHC Trac Issues: #8935, #9186, #9480
      383733b9
    • Lennart Kolmodin's avatar
      Add bash completion and README · 643635ea
      Lennart Kolmodin authored
      Summary:
      The bash completion is simple but works both for ghc and ghci.
      The README explains to the user what they have to do to get
      it working (hopefully nothing).
      
      Test Plan: Follow the README, then enjoy the cli completion in your terminal!
      
      Reviewers: austin
      
      Subscribers: thomie, carter, jstolarek
      
      Differential Revision: https://phabricator.haskell.org/D536
      
      GHC Trac Issues: #9005
      643635ea
    • Alan Zimmerman's avatar
      More Tweaks for API Anotations · ed85d7e1
      Alan Zimmerman authored
      Summary: Attaching semis to preceding AST element, not following
      
      Test Plan: sh ./validate
      
      Reviewers: hvr, austin
      
      Reviewed By: austin
      
      Subscribers: cactus, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D529
      ed85d7e1
    • Lennart Kolmodin's avatar
      Shorten long lines in DynFlags, add details to ghci usage guide. · 6d47ab3a
      Lennart Kolmodin authored
      Summary:
      Shorten long lines in DynFlags.
      Describe --show-options in ghci usage guide.
      
      Reviewers: jstolarek, austin
      
      Reviewed By: jstolarek, austin
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D532
      
      GHC Trac Issues: #9259
      6d47ab3a
    • Edward Z. Yang's avatar
      Filter instance visibility based on set of visible orphans, fixes #2182. · 4c834fdd
      Edward Z. Yang authored
      
      Summary:
      Amazingly, the fix for this very old bug is quite simple: when type-checking,
      maintain a set of "visible orphan modules" based on the orphans list of
      modules which we explicitly imported.  When we import an instance and it
      is an orphan, we check if it is in the visible modules set, and if not,
      ignore it.  A little bit of refactoring for when orphan-hood is calculated
      happens so that we always know if an instance is an orphan or not.
      
      For GHCi, we preinitialize the visible modules set based on the list of
      interactive imports which are active.
      
      Future work: Cache the visible orphan modules set for GHCi, rather than
      recomputing it every type-checking round.  (But it's tricky what to do when you
      /remove/ a module: you need a data structure a little more complicated than
      just a set of modules.)
      
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: new tests and validate
      
      Reviewers: simonpj, austin
      
      Subscribers: thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D488
      
      GHC Trac Issues: #2182
      4c834fdd
    • Edward Z. Yang's avatar
  4. Nov 29, 2014
    • Herbert Valerio Riedel's avatar
      Reimplement `gcdExtInteger` (#9281) · c0e0ca4d
      Herbert Valerio Riedel authored
      `gcdExtInteger` has been available since `integer-gmp-0.5.1`
      (added via 71e29584)
      c0e0ca4d
    • Herbert Valerio Riedel's avatar
      Re-implement `recipModInteger` (#9281) · 83c48438
      Herbert Valerio Riedel authored
      This also exposes the following two type-specialised modular
      exponentiation variants of `recipModInteger` useful for implementing a
      `recipModNatural` operation.
      
        recipModBigNat :: BigNat -> BigNat -> BigNat
        recipModWord   :: Word#  -> Word#  -> Word#
      
      `recipModInteger` has been available since `integer-gmp-0.5.1`
      (added via 4d516855)
      83c48438
    • Herbert Valerio Riedel's avatar
      Implement `GHC.Natural.powModNatural` (#9818) · 859680f6
      Herbert Valerio Riedel authored
      This makes use of the `powMod*` primitives provided by
      `integer-gmp-1.0.0`. This is the `Natural`-version of the related
      `GHC.Integer.GMP.Internals.powModInteger` operation.
      
      The fallback implementation uses a square and multiply algorithm,
      compared to which the optimized GMP-based implementation needs much less
      allocations due to in-place mutation during the computation.
      859680f6
    • Herbert Valerio Riedel's avatar
      Re-implement `powModInteger` (#9281) · d0d46742
      Herbert Valerio Riedel authored
      This also exposes the following type-specialised modular exponentiation
      variants of `powModInteger` useful for implementing a `powModNatural`
      operation.
      
        powModBigNat     :: BigNat -> BigNat -> BigNat -> BigNat
        powModBigNatWord :: BigNat -> BigNat -> Word#  -> Word#
        powModWord       :: Word#  -> Word#  -> Word#  -> Word#
      
      `powModInteger` has been available since `integer-gmp-0.5.1`
      (added via 4d516855)
      d0d46742
    • Herbert Valerio Riedel's avatar
      More static C initializer refactoring · a809eaba
      Herbert Valerio Riedel authored
      A few instances were missed in 447f5926
      
      Moreover, be more paranoid when testing for zero values, and try harder
      to avoid passing denormalized zero `mpz_t`-values into GMP functions.
      a809eaba
Loading