1. 29 Mar, 2016 1 commit
  2. 28 Mar, 2016 1 commit
  3. 26 Mar, 2016 2 commits
  4. 25 Mar, 2016 2 commits
  5. 24 Mar, 2016 13 commits
    • kaiha's avatar
      Add option `no-keep-hi-files` and `no-keep-o-files` (fixes #4114) · 24149528
      kaiha authored
      Summary: Remove `.hi` and `.o` files if the flags `no-keep-hi-files` and
      `no-keep-o-files` are given.
      Test Plan: ./validate
      Reviewers: austin, thomie, bgamari
      Reviewed By: thomie, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2021
      GHC Trac Issues: #4114
    • Simon Peyton Jones's avatar
      Tidy up handling of coercion variables · cb08f8da
      Simon Peyton Jones authored
      * Comments to explain that a CoVar, whose IdInfo is CoVarId,
        is always unlifted (but may be nominal or representational role)
        And TyCoRep.isCoercionType picks out only those unlifted
        types, NOT the lifted versions
      * Introduce Var.NcId for non-co-var Ids
        with predicate isNonCoVarId
      * Add assertions in CoreSubst that the Id env is only
        used for NcIds
      * Fix lurking bug in CSE which extended the
        CoreSubst Id env with a CoVar
      * Fix two bugs in Specialise.spec_call, which wrongly treated
        CoVars like NcIds
          - needed a varToCoreExpr in one place
          - needed extendSubst not extendIdSubst in another
        This was the root cause of Trac #11644
      Minor refactoring
      * Eliminate unused mkDerivedLocalCoVarM, mkUserLocalCoVar
      * Small refactor in mkSysLocalOrCoVar
    • Ben Gamari's avatar
      Defer inlining of Eq for primitive types · 0bd0c31e
      Ben Gamari authored
      This is one solution to #11688, wherein (==) was inlined to soon
      defeating a rewrite rule provided by bytestring. Since the RHSs of Eq's
      methods are simple, there is little to be gained and much to be lost by
      inlining them early.
      For instance, the bytestring library provides,
      break :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString)
      breakByte :: Word8 -> ByteString -> (ByteString, ByteString)
      and a rule
      forall x. break ((==) x) = breakByte x
      since `breakByte` implments an optimized version of `break (== x)` for
      known `x :: Word8`. If we allow `(==)` to be inlined too early, we will
      prevent this rule from firing. This was the cause of #11688.
      This patch just defers the `Eq` methods, although it's likely worthwhile
      giving `Ord` this same treatment. This regresses compiler allocations
      for T9661 by about 8% due to the additional inlining that we now require
      the simplifier to perform.
      Updates the `bytestring` submodule to include updated rewrite rules
      which match on `eqWord8` instead of `(==)`.
      Test Plan:
       * Validate, examine performance impact
      Reviewers: simonpj, hvr, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1980
      GHC Trac Issues: #11688
    • Ben Gamari's avatar
      Default RuntimeRep variables unless -fprint-explicit-runtime-reps · 371608f1
      Ben Gamari authored
      Addresses #11549 by defaulting `RuntimeRep` variables to `PtrRepLifted`
      and adding a new compiler flag `-fprint-explicit-runtime-reps` to
      disable this behavior.
      This is just a guess at the right way to go about this. If it's
      wrong-beyond-any-hope just say so.
      Test Plan: Working on a testcase
      Reviewers: goldfire, austin
      Subscribers: simonpj, thomie
      Differential Revision: https://phabricator.haskell.org/D1961
      GHC Trac Issues: #11549
    • Ben Gamari's avatar
      Show: Restore redundant parentheses around records · 1448f8ab
      Ben Gamari authored
      As discussed in #2530 we are going to continue to produce parentheses
      here in order to preserve compatibility with previous GHC releases. It
      was found that dropped parentheses would break some testsuites which
      compared against output from Show. This has been documented in the users
      This reverts commit 5692643c.
      Test Plan: Validate
      Reviewers: hvr, austin
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2027
      GHC Trac Issues: #2350
    • Ben Gamari's avatar
      Add expected output for T9405 · 8335cc73
      Ben Gamari authored
    • Ben Gamari's avatar
      DsExpr: Rip out static/dynamic check in list desugaring · 0db05941
      Ben Gamari authored
      Previously we would try to break explicit lists into a dynamic prefix
      and static tail and desugar the former into a `build` expression.
      Unfortunately, this heuristic resulted in surprising behavior
      (see #11710) and wasn't pulling its weight. Here we drop it (along with
      the `-fsimple-list-literals` flag), leaving only the list length
      heuristic to determine whether `build` or cons list desugaring should be
      Test Plan: Validate
      Reviewers: simonpj, austin
      Reviewed By: simonpj
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2023
      GHC Trac Issues: #11710
    • kaiha's avatar
      Create empty dump files (fixes #10320) · 9f9345e5
      kaiha authored
      Test Plan: ./validate
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2015
      GHC Trac Issues: #10320
    • Josh Price's avatar
      Add unicode syntax for banana brackets · 03a1bb4d
      Josh Price authored
      Add "⦇" and "⦈" as unicode alternatives for "(|" and "|)" respectively.
      This must be implemented differently than other unicode additions
      because ⦇" and "⦈" are interpretted as a $unigraphic rather than
      a $unisymbol.
      Test Plan: validate
      Reviewers: goldfire, bgamari, austin
      Reviewed By: bgamari, austin
      Subscribers: thomie, mpickering
      Differential Revision: https://phabricator.haskell.org/D2012
      GHC Trac Issues: #10162
    • archblob's avatar
      Close ticky profiling file stream after printing (#9405) · 2708c22b
      archblob authored
      Test Plan: T9405
      Reviewers: simonmar, austin, bgamari
      Reviewed By: simonmar, bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2008
      GHC Trac Issues: #9405
    • Rik Steenkamp's avatar
      Add `PatSynSigSkol` and modify `PatSynCtxt` · 997312b0
      Rik Steenkamp authored
      As the type of a pattern synonym cannot in general be represented by a
      value of type Type, we cannot use a value `SigSkol (PatSynCtxt n) (Check
      ty)` to represent the signature of a pattern synonym (this causes
      incorrect signatures to be printed in error messages). Therefore we now
      represent it by a value `PatSynSigSkol n` (instead of incorrect
      signatures we simply print no explicit signature).
      Furthermore, we rename `PatSynCtxt` to `PatSynBuilderCtxt`, and use
      `SigSkol (PatSynBuilderCtxt n) (Check ty)` to represent the type of a
      bidirectional pattern synonym when used in an expression context.
      Before, this type was represented by a value `SigSkol (PatSynCtxt n)
      (Check ty)`, which caused incorrect error messages.
      Also, in `mk_dict_err` of `typecheck\TcErrors.hs` we now distinguish
      between all enclosing implications and "useful" enclosing implications,
      for better error messages concerning pattern synonyms. See `Note [Useful
      See the Phabricator page for examples.
      Reviewers: mpickering, goldfire, simonpj, austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D1967
      GHC Trac Issues: #11667
    • Ben Gamari's avatar
      Ensure T9646 dump-simpl output is cleaned · da3b29bd
      Ben Gamari authored
    • bollmann's avatar
      Fix regression test for #11145. · e57b9ffe
      bollmann authored
      Test Plan: ./validate
      Reviewers: austin, bgamari
      Reviewed By: bgamari
      Subscribers: thomie
      Differential Revision: https://phabricator.haskell.org/D2032
      GHC Trac Issues: #11145
  6. 23 Mar, 2016 1 commit
  7. 21 Mar, 2016 9 commits
  8. 20 Mar, 2016 8 commits
  9. 19 Mar, 2016 1 commit
  10. 17 Mar, 2016 2 commits
    • eir@cis.upenn.edu's avatar
      Fix #11512 by getting visibility right for methods · f4f315a3
      eir@cis.upenn.edu authored
      Test case: typecheck/should_compile/T11512
    • eir@cis.upenn.edu's avatar
      Fix #11716. · 3fe87aa0
      eir@cis.upenn.edu authored
      There were several smallish bugs here:
       - We had too small an InScopeSet when rejigging GADT return types.
       - When adding the extra_tvs with a datatype kind signature, we
         were sometimes changing Uniques of an explicitly bound kind var.
       - Using coercionKind in the flattener got the wrong visibility
         for a binder. Now we just zonk to get what we need.
      Test case: dependent/should_compile/RaeJobTalk