1. 04 Jul, 2016 4 commits
  2. 01 Jul, 2016 10 commits
  3. 30 Jun, 2016 13 commits
    • thomie's avatar
      Fix check_uniques in non-unicode locale · b65363d3
      thomie authored
      Testcase: `LC_ALL=C make -C utils/checkUniques`. Works with python2 and
      Reviewed by: bgamari
      Differential Revision: https://phabricator.haskell.org/D2372
    • Michal Terepeta's avatar
      CmmExpr: remove unused `vgcFlag` function · f1e16e92
      Michal Terepeta authored and Ben Gamari's avatar Ben Gamari committed
      Test Plan: validate
      Reviewers: austin, bgamari, simonmar
      Reviewed By: bgamari, simonmar
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2351
    • Ben Gamari's avatar
      ghc-pkg: Drop trailing slashes in computing db paths · f68d40cb
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      Test Plan: Validate, try tests in ticket
      Reviewers: austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2336
      GHC Trac Issues: #12194
    • Ben Gamari's avatar
      nativeGen: Allow -fregs-graph to be used · 6a5d13c4
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      Previously the flag was silently ignored due the #7679 and #8657. This,
      however, seems unnecessarily brutal and makes experimentation unduly
      difficult for users.
      Test Plan: Validate
      Reviewers: austin, simonmar
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2335
      GHC Trac Issues: #7679, #8657
    • Alexander Vieth's avatar
      Trac #11554 fix loopy GADTs · 430f5c84
      Alexander Vieth authored and Ben Gamari's avatar Ben Gamari committed
      Summary: Fixes T11554
      Reviewers: goldfire, thomie, simonpj, austin, bgamari
      Reviewed By: thomie, simonpj, bgamari
      Subscribers: simonpj, goldfire, thomie
      Differential Revision: https://phabricator.haskell.org/D2283
      GHC Trac Issues: #11554
    • Edward Z. Yang's avatar
      Updates to handle new Cabal · 0701db12
      Edward Z. Yang authored and Ben Gamari's avatar Ben Gamari committed
      Specifically per-component macros and multiple libraries.
      Contains Cabal submodule update.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      Test Plan: validate
      Reviewers: austin, bgamari
      Reviewed By: austin, bgamari
      Subscribers: hvr, thomie
      Differential Revision: https://phabricator.haskell.org/D2059
    • Edward Z. Yang's avatar
      Axe RecFlag on TyCons. · b8b3e30a
      Edward Z. Yang authored
      This commit removes the information about whether or not
      a TyCon is "recursive", as well as the code responsible
      for calculating this information.
      The original trigger for this change was complexity regarding
      how we computed the RecFlag for hs-boot files.  The problem
      is that in order to determine if a TyCon is recursive or
      not, we need to determine if it was defined in an hs-boot
      file (if so, we conservatively assume that it is recursive.)
      It turns that doing this is quite tricky.  The "obvious"
      strategy is to typecheck the hi-boot file (since we are
      eventually going to need the typechecked types to check
      if we properly implemented the hi-boot file) and just extract
      the names of all defined TyCons from the ModDetails, but
      this actually does not work well if Names from the hi-boot
      file are being knot-tied via if_rec_types: the "extraction"
      process will force thunks, which will force the typechecking
      process earlier than we have actually defined the types
      Rather than work around all this trickiness (it certainly
      can be worked around, either by making interface loading
      MORE lazy, or just reading of the set of defined TyCons
      directly from the ModIface), we instead opted to excise
      the source of the problem, the RecFlag.
      For one, it is not clear if the RecFlag even makes sense,
      in the presence of higher-orderness:
          data T f a = MkT (f a)
      T doesn't look recursive, but if we instantiate f with T,
      then it very well is!  It was all very shaky.
      So we just don't bother anymore.  This has two user-visible
      1. is_too_recursive now assumes that all TyCons are
      recursive and will bail out in a way that is still mysterious
      to me if there are too many TyCons.
      2. checkRecTc, which is used when stripping newtypes to
      get to representation, also assumes all TyCons are
      recursive, and will stop running if we hit the limit.
      The biggest risk for this patch is that we specialize less
      than we used to; however, the codeGen tests still seem to
      be passing.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      Reviewers: simonpj, austin, bgamari
      Subscribers: goldfire, thomie
      Differential Revision: https://phabricator.haskell.org/D2360
    • niteria's avatar
      Remove ufmToList · 480e0661
      niteria authored
      This documents nondeterminism in code generation and removes
      the nondeterministic ufmToList function. In the future someone
      will have to use nonDetUFMToList (with proper explanation)
      or pprUFMWithKeys.
    • niteria's avatar
      Reorganize some determinism tests · b6b20a50
      niteria authored
      This directory structure makes it easier to find the tests
    • niteria's avatar
      Add a new determinism test · 9854f14e
      niteria authored
      This is one of the testcases that I forgot to commit
    • niteria's avatar
      Delete Ord Unique · fb6e2c7f
      niteria authored
      Ord Unique can be a source of invisible, accidental
      nondeterminism as explained in Note [No Ord for Unique].
      This removes it, leaving a note with rationale.
      It's unfortunate that I had to write Ord instances for
      codegen data structures by hand, but I believe that it's a
      right trade-off here.
      Test Plan: ./validate
      Reviewers: simonmar, austin, bgamari
      Reviewed By: simonmar
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2370
      GHC Trac Issues: #4012
    • thomie's avatar
      Testsuite: do not depend on sys.stdout.encoding · e8d62711
      thomie authored
      The cause of #12213 is in dump_stdout and dump_stderr:
      Commit 6f6f5154 changed read_no_crs to
      return a unicode string. Printing a unicode strings works fine as long
      as sys.stdout.encoding is 'UTF-8'.
      There are two reasons why sys.stdout.encoding might not be 'UTF-8'.
      * When output is going to a file, sys.stdout and sys.stdout do not respect
        the locale:
        $ LC_ALL=en_US.utf8 python -c 'import sys; print(sys.stderr.encoding)'
        $ LC_ALL=en_US.utf8 python -c 'import sys; print(sys.stderr.encoding)' 2>/dev/null
      * When output is going to the terminal, explicitly reopening sys.stdout has
        the side-effect of changing sys.stdout.encoding from 'UTF-8' to 'None'.
            sys.stdout = os.fdopen(sys.__stdout__.fileno(), "w", 0)
        We currently do this to set a buffersize of 0 (the actual
        buffersize used is irrelevant for the sys.stdout.encoding problem).
      Solution: fix dump_stdout and dump_stderr to not use read_no_crs.
    • Simon Peyton Jones's avatar
      Fix pretty-printer for IfaceCo · 24194a6a
      Simon Peyton Jones authored
      As Trac #12242 showed, there was a missing case in
      the pretty printer for IfaceCo. I've refactored it
      so that the pattern-match ovelap checker will spot
      it next time.
  4. 29 Jun, 2016 5 commits
    • thomie's avatar
      Testsuite: use ignore_stderr/stdout instead of ignore_output · 1084d375
      thomie authored
      The problem with ignore_output is that it hides errors for WAY=ghci.
      GHCi always returns with exit code 0 (unless it is broken itself).
      For example: ghci015 must have been failing with compile errors for
      years, but we didn't notice because all output was ignored.
      Therefore, replace all uses of ignore_output with either ignore_stderr
      or ignore_stdout. In some cases I opted for adding the expected output.
      Update submodule hpc and stm.
      Reviewed by: simonmar
      Differential Revision: https://phabricator.haskell.org/D2367
    • niteria's avatar
      Double the file descriptor limit for openFile008 · 8f7194fa
      niteria authored
      I have get test failures on `openFile008` with
      `openFile: resource exhausted (Too many open files)` when running
      inside `./validate`, but not when I run the test individually.
      I suspect that's because with `./validate` parallelism of 33 threads
      I go just above the `1024` file descriptor limit.
      This is probably related to the recent change:
      `58f0086b: Testsuite: open/close stdin/stdout/stderr explicitly`
      but I haven't looked deep enough to understand exactly how.
      I think bumping this is harmless, but I don't really know why it's
      necessary at all.
      Test Plan: ./validate
      Reviewers: austin, thomie, hvr, bgamari, simonmar
      Reviewed By: simonmar
      Subscribers: simonmar
      Differential Revision: https://phabricator.haskell.org/D2368
    • niteria's avatar
      Refactor match to not use Unique order · 9a645a16
      niteria authored
      Unique order can introduce nondeterminism.
      As a step towards removing the Ord Unique instance
      I've refactored the code to use deterministic sets instead.
      Test Plan: ./validate
      Reviewers: simonmar, austin, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2369
      GHC Trac Issues: #4012
    • thomie's avatar
      Testsuite: fixes for python2.6 support · 848e3ceb
      thomie authored
    • Simon Peyton Jones's avatar
      Test Trac #12185 · 2e9079ff
      Simon Peyton Jones authored
  5. 28 Jun, 2016 8 commits
    • Facundo Domínguez's avatar
      Stop the simplifier from removing StaticPtr binds. · dd92c67b
      Facundo Domínguez authored
      We have the FloatOut pass create exported ids for floated StaticPtr
      bindings. The simplifier doesn't try to remove those.
      This patch also improves on 7fc20b by making a common definition
      collectStaticPtrSatArgs to test for StaticPtr binds.
      Fixes #12207.
      Test Plan: ./validate
      Reviewers: simonpj, austin, bgamari, simonmar, goldfire
      Reviewed By: simonpj
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2366
      GHC Trac Issues: #12207
    • Simon Peyton Jones's avatar
      Wibble error message for #11471 · dc62a222
      Simon Peyton Jones authored
      I'm not quite sure why this changed with my two recent commits,
      but it /has/ changed (in a benign way) so I'm accepting it.
      Maybe it wasn't me anyway... but life is short and I'm not inclined
      to dig further.
    • Simon Peyton Jones's avatar
      Deal correctly with unused imports for 'coerce' · 23b80ac4
      Simon Peyton Jones authored
      We only do newtype unwrapping for Coercible constraints if
      the newtype's data constructor is in scope.  We were trying to
      record the fact that the data constructor was thereby 'used', so
      that an import statement would not be flagged as unnecsssary
      (by -Wunused-imports).
      But the code was simply wrong. It was wrong because it assumed
      that only one level of unwrapping happened, whereas
      tcTopNormaliseNewTypeTF_maybe actually unwraps multiple layers.
      So we need to return a /list/ of data constructors that are used.
      This entailed a bit of refactoring, as usual.
      Fixes Trac #12067
    • Simon Peyton Jones's avatar
      Don't omit any evidence bindings · af21e388
      Simon Peyton Jones authored
      This fixes Trac #12156, where we were omitting to make an
      evidence binding (because cec_suppress was on), but yet the
      program was compiled and run.
      The fix is easy, and involves deleting code :-).
    • thomie's avatar
      Testsuite: mark tests expect_broken · 3fb9837f
      thomie authored
      * T7837 is still broken for prof_ways (#9406)
      * T11627b is broken on Windows for WAY=prof_hc_hb (#12236)
      * T8089 is also broken for WAY=profasm on Windows
    • thomie's avatar
      Testsuite: do not add -debug explicitly in .T file · 0eb03781
      thomie authored
      This prevents `cannot find -lHSrts_debug_p` when running `make
      TEST=T9078 WAY=profasm` (#9078).
    • thomie's avatar
      Testsuite: run all indexed-types ways on ./validate --slow · 6b3b631e
      thomie authored
      I don't know why some ways were omitted before.
    • thomie's avatar
      Testsuite: framework failure improvements (#11165) · 782cacf5
      thomie authored
      * add framework failures to unexpected results list
      * report errors in .T files as framework failures (show in summary)
      * don't report missing tests when framework failures in .T files