1. 17 Nov, 2018 1 commit
  2. 28 Oct, 2018 1 commit
    • Ningning Xie's avatar
      Fix `:k` command: add validity checking · c4a876d5
      Ningning Xie authored
      This patch fixes #15806, where we found that the `:k` command in GHCi
      misses a validity checking for the type.
      Missing validity checking causes `:k` to accept types that are not validated.
      For example, `:k (Maybe (forall a. a -> a))` (incorrectly) returns `*`, while
      impredictivity of type instantiation shouldn't be allowed.
      Test Plan: ./validate
      Reviewers: simonpj, goldfire, bgamari
      Reviewed By: bgamari
      Subscribers: rwbarton, carter
      GHC Trac Issues: #15806
      Differential Revision: https://phabricator.haskell.org/D5265
  3. 05 Oct, 2018 1 commit
    • Ben Gamari's avatar
      testsuite: Skip T3171 for now · 817ba0cf
      Ben Gamari authored
      This test is remarkably flaky, failing regularly on i386/Linux,
      amd64/Fedora, and amd64/Darwin. I've opened #15383 to track this and am
      disabling the test for now until we have a chance to investigate.
      Test Plan: Validate
      Reviewers: alpmestan
      Subscribers: rwbarton, carter
      GHC Trac Issues: #15383
      Differential Revision: https://phabricator.haskell.org/D5202
  4. 04 Jul, 2018 1 commit
  5. 14 Jun, 2018 1 commit
    • Tao He's avatar
      Disable `-fdefer-out-of-scope-variables` in ghci. · 4a931665
      Tao He authored
      We have already disabled `-fdefer-type-errors` and
      `-fdefer-typed-holes` in ghci.
      This patch disables `-fdefer-out-of-scope-variables` as well.
      Fixes Trac #15259, as well as #14963.
      Test Plan: make test TEST="T15259 T14963a T14963b T14963c"
      Reviewers: bgamari, tdammers
      Reviewed By: tdammers
      Subscribers: tdammers, rwbarton, thomie, carter
      GHC Trac Issues: #15259, #14963
      Differential Revision: https://phabricator.haskell.org/D4830
  6. 30 Oct, 2017 1 commit
    • Michal Terepeta's avatar
      Allow packing constructor fields · cca2d6b7
      Michal Terepeta authored
      This is another step for fixing #13825
       and is based on D38 by Simon
      The change allows storing multiple constructor fields within the same
      word. This currently applies only to `Float`s, e.g.,
      data Foo = Foo {-# UNPACK #-} !Float {-# UNPACK #-} !Float
      on 64-bit arch, will now store both fields within the same constructor
      word. For `WordX/IntX` we'll need to introduce new primop types.
      Main changes:
      - We now use sizes in bytes when we compute the offsets for
        constructor fields in `StgCmmLayout` and introduce padding if
        necessary (word-sized fields are still word-aligned)
      - `ByteCodeGen` had to be updated to correctly construct the data
        types. This required some new bytecode instructions to allow pushing
        things that are not full words onto the stack (and updating
        `Interpreter.c`). Note that we only use the packed stuff when
        constructing data types (i.e., for `PACK`), in all other cases the
        behavior should not change.
      - `RtClosureInspect` was changed to handle the new layout when
        extracting subterms. This seems to be used by things like `:print`.
        I've also added a test for this.
      - I deviated slightly from Simon's approach and use `PrimRep` instead
        of `ArgRep` for computing the size of fields.  This seemed more
        natural and in the future we'll probably want to introduce new
        primitive types (e.g., `Int8#`) and `PrimRep` seems like a better
        place to do that (where we already have `Int64Rep` for example).
        `ArgRep` on the other hand seems to be more focused on calling
      Signed-off-by: Michal Terepeta's avatarMichal Terepeta <michal.terepeta@gmail.com>
      Test Plan: ./validate
      Reviewers: bgamari, simonmar, austin, hvr, goldfire, erikd
      Reviewed By: bgamari
      Subscribers: maoe, rwbarton, thomie
      GHC Trac Issues: #13825
      Differential Revision: https://phabricator.haskell.org/D3809
  7. 22 Aug, 2017 1 commit
    • Ryan Scott's avatar
      Fix #14125 by normalizing data family instances more aggressively · 6982ee99
      Ryan Scott authored
      Commit 3540d1e1 inadvertently broke
      the ability for newtype instances to be used as marshallable types in FFI
      declarations. The reason is a bit silly: an extra check was added for type
      synonyms with no type families on the RHS in `normalise_tc_app`, but this check
      would only skip over type families, not //data// families, since the predicate
      being used was `not . isTypeFamilyCon`.
      The fix is simple: just use `not . isFamilyCon` instead so that data families
      are also skipped by this check.
      Test Plan: make test TEST=T14125
      Reviewers: goldfire, simonpj, austin, bgamari
      Reviewed By: simonpj
      Subscribers: rwbarton, thomie
      GHC Trac Issues: #14125
      Differential Revision: https://phabricator.haskell.org/D3865
  8. 12 Jul, 2017 1 commit
    • Ben Gamari's avatar
      [iserv] Fixing the word size for RemotePtr and toWordArray · 7ae4a28f
      Ben Gamari authored
      When we load non absolute pathed .so's this usually implies that we
      expect the system to have them in place already, and hence we should not
      need to ship them.  Without the absolute path to the library, we are
      also unable to open and send said library.  Thus we'll do library
      shipping only for libraries with absolute paths.
      When dealing with a host and target of different word size (say host
      hast 64bit, target has 32bit), we need to fix the RemotePtr size and the
      toWordArray function, as they are part of the iserv ResolvedBCO binary
      protocol.  This needs to be word size independent.  The choice for
      RemotePtr to 64bit was made to ensure we can store 64bit pointers when
      targeting 64bit. The choice for 32bit word arrays was made wrt.
      encoding/decoding on the potentially slower device.
      The efficient serialization code has been graciously provided by
      Reviewers: bgamari, simonmar, austin, hvr
      Reviewed By: bgamari
      Subscribers: Ericson2314, rwbarton, thomie, ryantrinkle
      Differential Revision: https://phabricator.haskell.org/D3443
  9. 02 Dec, 2016 1 commit
  10. 13 Oct, 2016 1 commit
  11. 20 Jul, 2016 1 commit
  12. 20 May, 2016 1 commit
  13. 01 Feb, 2016 1 commit
    • Adam Gundry's avatar
      Avoid mangled/derived names in GHCi autocomplete (fixes #11328) · dd0b7c78
      Adam Gundry authored
      This changes `getRdrNamesInScope` to use field labels rather than
      selector names for fields from modules with `DuplicateRecordFields`
      enabled. Moreover, it filters out derived names (e.g. type
      representation bindings) that shouldn't show up in autocomplete.
      Test Plan: New test ghci/should_run/T11328
      Reviewers: kolmodin, austin, bgamari, simonpj
      Reviewed By: bgamari, simonpj
      Subscribers: simonpj, thomie
      Differential Revision: https://phabricator.haskell.org/D1870
      GHC Trac Issues: #11328
  14. 21 Nov, 2015 1 commit
    • roshats's avatar
      Function definition in GHCi · b98ff3cc
      roshats authored
      This patch allows define and re-define functions in ghci. `let` is not
      required anymore (but can be used).
      Idea: If ghci input string can be parsed as statement then run it as
      statement else run it as declaration.
      Reviewers: mpickering, bgamari, austin
      Reviewed By: mpickering, bgamari, austin
      Subscribers: hvr, mpickering, dterei, thomie
      Differential Revision: https://phabricator.haskell.org/D1299
      GHC Trac Issues: #7253
  15. 07 Nov, 2015 1 commit
    • Simon Marlow's avatar
      Make GHCi & TH work when the compiler is built with -prof · ce1f1607
      Simon Marlow authored
      Amazingly, there were zero changes to the byte code generator and very
      few changes to the interpreter - mainly because we've used good
      abstractions that hide the differences between profiling and
      non-profiling.  So that bit was pleasantly straightforward, but there
      were a pile of other wibbles to get the whole test suite through.
      Note that a compiler built with -prof is now like one built with
      -dynamic, in that to use TH you have to build the code the same way.
      For dynamic, we automatically enable -dynamic-too when TH is required,
      but we don't have anything equivalent for profiling, so you have to
      explicitly use -prof when building code that uses TH with a profiled
      compiler.  For this reason Cabal won't work with TH.  We don't expect
      to ship a profiled compiler, so I think that's OK.
      Test Plan: validate with GhcProfiled=YES in validate.mk
      Reviewers: goldfire, bgamari, rwbarton, austin, hvr, erikd, ezyang
      Reviewed By: ezyang
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1407
      GHC Trac Issues: #4837, #545
  16. 02 Apr, 2015 1 commit
  17. 22 Dec, 2014 1 commit
  18. 21 Dec, 2014 1 commit
  19. 29 Sep, 2013 1 commit
  20. 11 Feb, 2013 2 commits
  21. 07 Feb, 2013 1 commit
    • ian@well-typed.com's avatar
      Pass the test name to the test options · effc8af9
      ian@well-typed.com authored
      This allows them to give framework failures.
      I also had to change how setTestOpts works. Now, rather than applying
      the options to the directory's "default options", it just stores the
      options to be applied for each test (i.e. once we know the test name).
  22. 25 Jan, 2013 1 commit
  23. 08 May, 2012 1 commit
  24. 23 Apr, 2012 1 commit
    • pcapriotti's avatar
      Add combined_output option. · ef0d0b70
      pcapriotti authored
      Added an option to combine stdout and stderr into a single file. This is
      useful for ghci scripts that produce interleaved errors and normal
      Also modified check_stderr_ok so that it normalizes stderr in the same
      way as compile tests.
  25. 02 Nov, 2011 1 commit
  26. 20 Jul, 2011 1 commit
  27. 13 Jul, 2011 1 commit
  28. 22 Sep, 2010 1 commit
  29. 01 Jan, 2010 1 commit
  30. 18 Sep, 2009 1 commit
  31. 20 May, 2009 1 commit
  32. 24 Apr, 2009 1 commit
  33. 09 Oct, 2008 1 commit
  34. 21 Dec, 2006 1 commit
  35. 07 Dec, 2006 1 commit
  36. 23 Jul, 2003 1 commit
  37. 24 Jan, 2003 1 commit