- 20 Jan, 2020 10 commits
-
-
Currently CI is inexplicably failing with ``` $ git submodule foreach git clean -xdf fatal: not a git repository: libffi-tarballs/../.git/modules/libffi-tarballs ``` I have no idea how this working tree got into such a state but we do need to fail more gracefully when it happens. Consequently, we allow the cleaning step to fail.
-
-
It was deprecated in 2012 with 46258b40
-
Namely print the entire exception in hopes that this will help track down #17649.
-
Fixes the calling convention for functions passing raw SSE-register values by adding padding as needed to get the values in the right registers. This problem cropped up when some args were unused an dropped from the live list. This folds together 2e23e1c7 and 73273be4 previously from @kavon. Metric Increase: T12707 ManyConstructors
-
@kavon says that this will improve block layout for stack checks.
-
-
Fixes #13904.
-
Fixes #17662 [ci skip]
-
Stack squeezing is done on context switch, not on GC or stack overflow. Fix the documentation. Fixes #17685 [ci skip]
-
- 17 Jan, 2020 1 commit
-
-
Ben Gamari authored
Not all runners have symlink permissions enabled.
-
- 16 Jan, 2020 6 commits
-
-
This reverts commit ce64b397 on the grounds of the regression it would introduce in a couple of packages. Fixes #17653. Also undoes a slight metric increase in #13701 introduced by that commit that we didn't see prior to !1983. Metric Decrease: T13701
-
-
Allow removing the no longer needed cgPrimOp, getting rid of a small a small layer violation too. Change which made the special case no longer needed was #6135 / 6579a6c7, which dates back to 2013, making me feel better.
-
`OpDest` was basically a defunctionalization. Just turn the code that cased on it into those functions, and call them directly.
-
Before, it was a panic because it was handled above. But there must have been an error in my reasoning (another caller?) because #17442 reported the panic was hit. But, rather than figuring out what happened, I can just make it impossible by construction. By adding just a bit more bureaucracy in the return types, I can handle TagToEnum in the same case as all the others, so the big case is is now total, and the panic is removed. Fixes #17442
-
So that hopefully I understand it faster next time. Also got rid of the confusing `orig_expr`, which makes the call site in `etaExpand` look out of sync with the passed `n` (which is not the original `n`).
-
- 13 Jan, 2020 11 commits
-
-
-
This patch clarifies a dark corner of quantified constraints. * See Note [Yukky eq_sel for a HoleDest] in TcSMonad * Minor refactor, breaking out new function TcInteract.doTopReactEqPred
-
-
-
-
The test fails when used with LANG=fr_FR.UTF-8
-
Previously we would keep them for two weeks. However, on the stable branches two weeks can easily elapse with no pushes.
-
-
This changes GHC's treatment of so-called Naughty Quantification Candidates to issue errors, instead of zapping to Any. Close #16775. No new test cases, because existing ones cover this well.
-
This patch implements overloaded quotation brackets which generalise the desugaring of all quotation forms in terms of a new minimal interface. The main change is that a quotation, for example, [e| 5 |], will now have type `Quote m => m Exp` rather than `Q Exp`. The `Quote` typeclass contains a single method for generating new names which is used when desugaring binding structures. The return type of functions from the `Lift` type class, `lift` and `liftTyped` have been restricted to `forall m . Quote m => m Exp` rather than returning a result in a Q monad. More details about the feature can be read in the GHC proposal. https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0246-overloaded-bracket.rst
-
- 08 Jan, 2020 3 commits
-
-
This brings the pretty-printer for Core in line with how visible type applications are normally printed: namely, with no whitespace after the `@` character (i.e., `f @a` instead of `f @ a`). While I'm in town, I also give the same treatment to type abstractions (i.e., `\(@a)` instead of `\(@ a)`) and coercion applications (i.e., `f @~x` instead of `f @~ x`). Fixes #17643.
-
(cherry picked from commit feb3b955)
-
-
- 07 Jan, 2020 9 commits
-
-
Analyzing the call sites for `HsModule` reveals that it is only ever used with parsed code (i.e., `GhcPs`). This simplifies `HsModule` by concretizing its `pass` parameter to always be `GhcPs`. Fixes #17642.
-
`parallel` is no longer a submodule since 3cb063c8
-
Otherwise the testsuite driver may not have an up-to-date baseline.
-
Refactoring to follow.
-
Previously we used platform.system() and while this worked fine (e.g. returned `Windows`, as expected) locally under both msys and MingW64 Python distributions, it inexplicably returned `MINGW64_NT-10.0` under MingW64 Python on CI. It seems os.name is more reliable so we now use that instead..
-
In addition, we prefer the Mingw64 Python distribution on Windows due to #17483.
-
-
Due to #17607.
-
-