Skip to content
Snippets Groups Projects
  1. Jul 05, 2016
  2. Jul 04, 2016
  3. Jul 01, 2016
  4. Jun 30, 2016
    • Thomas Miedema's avatar
      Fix check_uniques in non-unicode locale · b65363d3
      Thomas Miedema authored
      Testcase: `LC_ALL=C make -C utils/checkUniques`. Works with python2 and
      python3.
      
      Reviewed by: bgamari
      
      Differential Revision: https://phabricator.haskell.org/D2372
      b65363d3
    • 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
      f1e16e92
    • 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
      f68d40cb
    • 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
      6a5d13c4
    • alexvieth's avatar
      Trac #11554 fix loopy GADTs · 430f5c84
      alexvieth authored
      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
      430f5c84
    • Edward Z. Yang's avatar
      Updates to handle new Cabal · 0701db12
      Edward Z. Yang authored
      
      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
      0701db12
    • Edward Z. Yang's avatar
      Axe RecFlag on TyCons. · b8b3e30a
      Edward Z. Yang authored
      
      Summary:
      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
      locally.
      
      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
      implications:
      
      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
      b8b3e30a
    • 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.
      480e0661
    • niteria's avatar
      Reorganize some determinism tests · b6b20a50
      niteria authored
      This directory structure makes it easier to find the tests
      b6b20a50
    • niteria's avatar
      Add a new determinism test · 9854f14e
      niteria authored
      This is one of the testcases that I forgot to commit
      9854f14e
    • 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
      fb6e2c7f
    • Thomas Miedema's avatar
      Testsuite: do not depend on sys.stdout.encoding · e8d62711
      Thomas Miedema authored
      The cause of #12213 is in dump_stdout and dump_stderr:
      
            print(read_no_crs(<filename>))
      
      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)'
        UTF-8
        $ LC_ALL=en_US.utf8 python -c 'import sys; print(sys.stderr.encoding)' 2>/dev/null
        None
      
      * 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.
      e8d62711
    • 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.
      24194a6a
Loading