1. 02 Dec, 2014 3 commits
  2. 01 Dec, 2014 9 commits
  3. 30 Nov, 2014 11 commits
    • 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. 29 Nov, 2014 8 commits
  5. 28 Nov, 2014 9 commits
    • thomasw's avatar
      Implement Partial Type Signatures · d831b6f4
      thomasw authored
      Summary:
      Add support for Partial Type Signatures, i.e. holes in types, see:
      https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures
      
      This requires an update to the Haddock submodule.
      
      Test Plan: validate
      
      Reviewers: austin, goldfire, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: thomie, Iceland_jack, dominique.devriese, simonmar, carter, goldfire
      
      Differential Revision: https://phabricator.haskell.org/D168
      
      GHC Trac Issues: #9478
      d831b6f4
    • Simon Peyton Jones's avatar
      Rename some of the functions in NameSet, to make the uniform with VarSet etc · 7460dafa
      Simon Peyton Jones authored
      For ages NameSet has used different names,
        eg.   addOneToNameSet   rather than    extendNameSet
              nameSetToList     rather than    nameSetElems
      
      etc.  Other set-like modules use uniform naming conventions.
      This patch makes NameSet follow suit.
      
      No change in behaviour; this is just renaming.
      
      I'm doing this just before the fork so that merging is easier.
      7460dafa
    • Simon Peyton Jones's avatar
      Kind variables in RHS of an associated type instances should be bound on LHS · 171101be
      Simon Peyton Jones authored
      This patche fixes Trac #9574.
      
      The previous Note [Renaming associated types] in RnTypes appears to me to be wrong;
      it confused class and instance declarations.
      
      I have:
      
       * Treated kind and type variables uniformly. Both must be bound on the LHS
         of an associated type instance.  Eg
             instance C ('KProxy :: KProxy o) where
                type F 'KProxy = NatTr (Proxy :: o -> *)
         is illegal because 'o' is not bound on the LHS of the instance.
      
       * Moved the Note to RnSource and fixed it up
      
      This improves the error message from T7938. However it made the code in
      T6118 incorrect. We had:
        instance SingE (a :: Maybe k) where
          type Demote a = Maybe (Demote (Any :: k))
      and that is now rejected, rightly I think.
      171101be
    • Herbert Valerio Riedel's avatar
      Re-activate `integerGmpInternals` test (#9281) · 2eecf348
      Herbert Valerio Riedel authored
      The `integerGmpInternals` test was disabled in
      c774b28f as many of the primitives
      tested in that test weren't available yet w/ `integer-gmp2`.
      
      However, most operations have been reimplemented by now, with the
      exception of
      
          recipModInteger  :: Integer -> Integer -> Integer
          gcdExtInteger    :: Integer -> Integer -> (Integer, Integer)
          powModSecInteger :: Integer -> Integer -> Integer -> Integer
          powModInteger    :: Integer -> Integer -> Integer -> Integer
          powInteger       :: Integer -> Word -> Integer
      
      which are still missing, and will (time permitting) be reimplemented
      over time.
      2eecf348
    • Herbert Valerio Riedel's avatar
      Re-implement `nextPrimeInteger` predicate (#9281) · 8d783110
      Herbert Valerio Riedel authored
      This also adds `nextPrimeWord#` and `nextPrimeBigNat` predicates.
      
      `nextPrimeInteger` has been available since `integer-gmp-0.5.1`
      (added via f4973548).
      8d783110
    • Simon Marlow's avatar
      Add purgeObj() to remove the symbol table entries for an object · 9e6e4796
      Simon Marlow authored
      This allows us to replace an object without actually unloading the old
      object, which is necessary when we know we have references to the old
      object so it can't be completely unloaded.  Using unloadObj() would
      cause the GC (CheckUnload) to repeatedly and fruitlessly try to unload
      the old object.
      9e6e4796
    • Simon Marlow's avatar
      Make the linker API thread-safe · b5e8b3b1
      Simon Marlow authored
      We used to be able to rely on the client to use the API in a
      single-threaded way, but now that the GC calls into the linker to
      unload objects this isn't a safe assumption.
      b5e8b3b1
    • Herbert Valerio Riedel's avatar
      Re-implement `testPrimeInteger` predicate (#9281) · 58dcd5c2
      Herbert Valerio Riedel authored
      This also adds `testPrimeWord#` and `testPrimeBigNat` predicates.
      
      `testPrimeInteger` has been available since `integer-gmp-0.5.1`
      (added via f4973548).
      The `nextPrimeInteger` function is still missing though.
      58dcd5c2
    • Simon Peyton Jones's avatar
      Tidy up tracing somewhat · 342ebb04
      Simon Peyton Jones authored
      This is a knock-on from the -dump-to-file changes.
      (I found that -ddump-cs-trace stuff wasn't coming out!)
      342ebb04