1. 28 Jun, 2016 4 commits
    • thomie's avatar
      Testsuite: cleanup printing of summary · d8e9b876
      thomie authored
      Just use a simple list of tuples, instead of a nested map.
      
      -90 lines of code.
      d8e9b876
    • thomie's avatar
      Testsuite: open/close stdin/stdout/stderr explicitly · 58f0086b
      thomie authored
      This allows run_command's to contain `|`, and `no_stdin` isn't necessary
      anymore.
      
      Unfortunately it doesn't fix T7037 on Windows which I had hoped it would
      (testsuite driver tries to read a file that it just created itself, but
      the OS says it doesn't exist).
      
      The only drawback of this commit is that the command that the testsuite
      prints to the terminal (for debugging purposes) doesn't mention the
      files that stdout and stderr are redirected to anymore. This is probably
      ok.
      
      Update submodule unix.
      
      Differential Revision: https://phabricator.haskell.org/D1234
      58f0086b
    • thomie's avatar
      Testsuite: do not print timeout message · bafd615e
      thomie authored
      This is a followup to e1293bbf, but then
      for Windows timeout.
      bafd615e
    • thomie's avatar
      Testsuite: simplify extra_file handling · 206b4a1d
      thomie authored
      Before, `extra_files(['.hpc/Main.mix'])` meant copy `Main.mix` to
      `<testdir>/.hpc/Main.mix`. This feature wasn't really necessary, so now
      it just means copy `Main.mix` to `<testdir>/Main.mix`. This simplifies
      the implementation.
      
      Some small other cleanups as well. -40 lines of code.
      206b4a1d
  2. 27 Jun, 2016 8 commits
  3. 26 Jun, 2016 1 commit
  4. 25 Jun, 2016 3 commits
    • Moritz Angermann's avatar
      Allow building static libs. · 8c1ceddd
      Moritz Angermann authored
      Summary:
      Commit 90538d86, seems to have broken static linking.
      The introduction of `argFixup` in `runLink` rearranges libs, and considers
      anything with an `-l` prefix or `.a` suffix a lib, which fails for libs that are
      just being linked together (e.g. `-o lib.a`).
      
      The proposed solution explicitly checks for the existance of the `-o` flag.
      
      Reviewers: rwbarton, erikd, Phyx, bgamari, austin
      
      Reviewed By: Phyx
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2362
      8c1ceddd
    • eir@cis.upenn.edu's avatar
      Refactor tcInferArgs and add comments. · 4cc5a39e
      eir@cis.upenn.edu authored
      This removes an unnecessary loop looking for invisible binders
      and tries to clarify what the very closely-related functions
      tcInferArgs, tc_infer_args, tcInferApps all do.
      4cc5a39e
    • eir@cis.upenn.edu's avatar
      s/Invisible/Inferred/g s/Visible/Required/g · 5fdb854c
      eir@cis.upenn.edu authored
      This renames VisibilityFlag from
      
      > data VisibilityFlag = Visible | Specified | Invisible
      
      to
      
      > data ArgFlag = Required | Specified | Inferred
      
      The old name was quite confusing, because both Specified
      and Invisible were invisible! The new names are hopefully clearer.
      5fdb854c
  5. 24 Jun, 2016 15 commits
  6. 23 Jun, 2016 9 commits
    • eir@cis.upenn.edu's avatar
      Release notes for #11975 and #10963 · 4ae950fb
      eir@cis.upenn.edu authored
      4ae950fb
    • eir@cis.upenn.edu's avatar
      Fix #10963 and #11975 by adding new cmds to GHCi. · 8035d1a5
      eir@cis.upenn.edu authored
      See the user's guide entry or the Note [TcRnExprMode] in TcRnDriver.
      
      Test cases: ghci/scripts/T{10963,11975}
      8035d1a5
    • eir@cis.upenn.edu's avatar
      Fix #11974 by adding a more smarts to TcDefaults. · 9a34bf19
      eir@cis.upenn.edu authored
      Test cases:
        typecheck/should_compile/T11974
        typecheck/should_fail/T11974b
      9a34bf19
    • eir@cis.upenn.edu's avatar
      Very confusing typo in error message. · 7f5d5603
      eir@cis.upenn.edu authored
      7f5d5603
    • niteria's avatar
      Remove Ord TyCon · bb740218
      niteria authored
      After 35d1564c: Provide Uniquable version of SCC we
      can remove this. We want to remove it because when used
      it can introduce unnecessary nondeterminism.
      
      GHC Trac: #4012
      bb740218
    • niteria's avatar
      Provide Uniquable version of SCC · 35d1564c
      niteria authored
      We want to remove the `Ord Unique` instance because there's
      no way to implement it in deterministic way and it's too
      easy to use by accident.
      
      We sometimes compute SCC for datatypes whose Ord instance
      is implemented in terms of Unique. The Ord constraint on
      SCC is just an artifact of some internal data structures.
      We can have an alternative implementation with a data
      structure that uses Uniquable instead.
      
      This does exactly that and I'm pleased that I didn't have
      to introduce any duplication to do that.
      
      Test Plan:
      ./validate
      I looked at performance tests and it's a tiny bit better.
      
      Reviewers: bgamari, simonmar, ezyang, austin, goldfire
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2359
      
      GHC Trac Issues: #4012
      35d1564c
    • Facundo Domínguez's avatar
      Have Core linter accept programs using StaticPointers and -fhpc. · 7fc20b02
      Facundo Domínguez authored
      Summary:
      This patch uses collectArgsTicks instead of collectArgs to test that
      StaticPtr only occurs at the top of RHSs of top-level expressions.
      
      Ticks introduced by -fhpc would interfere otherwise.
      
      Test Plan: ./validate
      
      Reviewers: thomie, austin, goldfire, bgamari, simonpj
      
      Reviewed By: simonpj
      
      Differential Revision: https://phabricator.haskell.org/D2355
      
      GHC Trac Issues: #12207
      7fc20b02
    • Simon Peyton Jones's avatar
      Narrow the use of record wildcards slightly · 2f8cd14f
      Simon Peyton Jones authored
      In reviewing the fix to Trac #12130 I found the wild-card
      fill-in code for ".." notation in record constructions hard
      to understand.  It went to great contortions (including the
      find_tycon code) to allow
          data T = C { x, y :: Int }
          f x = C { .. }
      to expand to
          f x = C { x = x, y = y }
      where 'y' is an /imported function/!  That seems way over the top
      for what record wildcards are supposed to do.
      
      So I have narrowed the record-wildcard expansion to include only
      /locally-bound/ variables; i.e. not top level, and certainly not
      imported.
      
      I don't think anyone is using record wildcards in this bizarre way, so
      I don't expect any fallout. Even if there is, you can easily
      initialise fields with eponymous but imported values by hand.
      
      An intermediate position would be to allow /local/ top-level
      definitions.  But I doubt anyone is doing that either.
      
      Let's see if there's any fallout.  It's a local change, easy to
      revert, so I've just gone ahead to save everyone's time.
      2f8cd14f
    • Simon Peyton Jones's avatar
      Narrow the warning for simplifiable constraints · 643706e4
      Simon Peyton Jones authored
      In Trac #11948 I added the warning
          -Wsimplifiable-class-constraints
      which warns if the class constraints in a type signature are
      simplifiable.
      
      But in fact the fragility it warns about only happens with
      NoMonoLocalBinds, so this patch switches off the warning if
      you have MonoLocalBinds (and suggests using it in the error
      message).
      
      See Note [Simplifiable given constraints] in TcValidity.
      643706e4