1. 29 Apr, 2019 2 commits
  2. 25 Apr, 2019 6 commits
  3. 24 Apr, 2019 1 commit
  4. 23 Apr, 2019 2 commits
  5. 22 Apr, 2019 3 commits
    • Vladislav Zavialov's avatar
      Stop misusing EWildPat in pattern match coverage checking · 1959bad3
      Vladislav Zavialov authored
      EWildPat is a constructor of HsExpr used in the parser to represent
      wildcards in ambiguous positions:
      
      * in expression context, EWildPat is turned into hsHoleExpr (see rnExpr)
      * in pattern context, EWildPat is turned into WildPat (see checkPattern)
      
      Since EWildPat exists solely for the needs of the parser, we could
      remove it by improving the parser.
      
      However, EWildPat has also been used for a different purpose since
      8a506104: to represent patterns that the coverage checker cannot handle.
      Not only this is a misuse of EWildPat, it also stymies the removal of
      EWildPat.
      1959bad3
    • Alp Mestanogullari's avatar
      Hadrian: use the testsuite driver's config.haddock arg more correctly · 51655fd8
      Alp Mestanogullari authored
      4 haddock tests assume that .haddock files have been produced, by using the
      'req_haddock' modifier. The testsuite driver assumes that this condition is
      satisfied if 'config.haddock' is non-empty, but before this patch Hadrian was
      always passing the path to where the haddock executable should be, regardless
      of whether it is actually there or not.
      
      Instead, we now pass an empty config.haddock when we can't find all of
      <build root>/docs/html/libraries/<pkg>/<pkg>.haddock>, where <pkg> ranges over
      array, base, ghc-prim, process and template-haskell, and pass the path
      to haddock when all those file exists. This has the (desired) effect of skipping
      the 4 tests (marked as 'missing library') when the docs haven't been built,
      and running the haddock tests when they have.
      51655fd8
    • Matthew Pickering's avatar
      Correct off by one error in ghci +c · 1a7a329b
      Matthew Pickering authored
      Fixes #16569
      1a7a329b
  6. 21 Apr, 2019 8 commits
  7. 20 Apr, 2019 10 commits
  8. 19 Apr, 2019 3 commits
    • Alec Theriault's avatar
      Add test case for #16384 · fdfd9731
      Alec Theriault authored
      Now that `TExp` accepts unlifted types, #16384 is fixed. Since the real
      issue there was GHC letting through an ill-kinded type which
      `-dcore-lint` rightly rejected, a reasonable regression test is that
      the program from #16384 can now be accepted without `-dcore-lint`
      complaining.
      fdfd9731
    • Alec Theriault's avatar
      TH: make `Lift` and `TExp` levity-polymorphic · 57cf1133
      Alec Theriault authored
      Besides the obvious benefits of being able to manipulate `TExp`'s of
      unboxed types, this also simplified `-XDeriveLift` all while making
      it more capable.
      
        * `ghc-prim` is explicitly depended upon by `template-haskell`
      
        * The following TH things are parametrized over `RuntimeRep`:
      
            - `TExp(..)`
            - `unTypeQ`
            - `unsafeTExpCoerce`
            - `Lift(..)`
      
        * The following instances have been added to `Lift`:
      
            - `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#`
            - unboxed tuples of lifted types up to arity 7
            - unboxed sums of lifted types up to arity 7
      
          Ideally we would have levity-polymorphic _instances_ of unboxed
          tuples and sums.
      
        * The code generated by `-XDeriveLift` uses expression quotes
          instead of generating large amounts of TH code and having
          special hard-coded cases for some unboxed types.
      57cf1133
    • Alp Mestanogullari's avatar
      Hadrian: fix the value we pass to the test driver for config.compiler_debugged · 5988f17a
      Alp Mestanogullari authored
      We used to pass YES/NO, while that particular field is set to True/False. This
      happens to fix an unexpected pass, T9208.
      5988f17a
  9. 18 Apr, 2019 4 commits
  10. 16 Apr, 2019 1 commit