1. 01 Dec, 2014 2 commits
  2. 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...
    • 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
    • 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
    • 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
    • Peter Trommler's avatar
      Fix obscure problem with using the system linker (#8935) · 383733b9
      Peter Trommler authored
      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
      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
    • Lennart Kolmodin's avatar
      Add bash completion and README · 643635ea
      Lennart Kolmodin authored
      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
    • 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
    • Lennart Kolmodin's avatar
      Shorten long lines in DynFlags, add details to ghci usage guide. · 6d47ab3a
      Lennart Kolmodin authored
      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
    • Edward Z. Yang's avatar
      Filter instance visibility based on set of visible orphans, fixes #2182. · 4c834fdd
      Edward Z. Yang authored
      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
    • Edward Z. Yang's avatar
  3. 29 Nov, 2014 8 commits
  4. 28 Nov, 2014 11 commits
    • thomasw's avatar
      Implement Partial Type Signatures · d831b6f4
      thomasw authored
      Add support for Partial Type Signatures, i.e. holes in types, see:
      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
    • 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.
    • 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.
    • 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.
    • 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).
    • 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.
    • 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.
    • 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.
    • 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!)
    • Simon Peyton Jones's avatar
      Don't discard a bang on a newtype pattern (Trac #9844) · 227a5668
      Simon Peyton Jones authored
      We were wrongly simply dropping the bang, in tidy_bang_pat.
    • Herbert Valerio Riedel's avatar
      Improve VERSION/GIT_COMMIT_ID handling for sdist · 7dd4c12c
      Herbert Valerio Riedel authored
      This makes `VERSION` updating a bit more robust (the file gets only
      updated if its content would actually change), as well as moving the
      dependency of `VERSION` and `GIT_COMMIT_ID` to the `sdist-ghc-prep`
      target, as that's where it's actually needed.
      This fixes the specialised target `make sdist-ghc` not properly
      creating/updating the `VERSION` and `GIT_COMMIT_ID` files before
      creating the ghc source-dist tarball, as well as avoiding stale
      `VERSION` files.
  5. 27 Nov, 2014 8 commits