- 27 Dec, 2019 4 commits
-
-
Ben Gamari authored
As reported in #17554. Only marking on ARM for now although there is evidence to suggest that the issue may occur on other platforms as well.
-
Gabor Greif authored
-
Gabor Greif authored
tested with `bash` and `zsh`.
-
Ben Gamari authored
Since it routinely times out in CI.
-
- 26 Dec, 2019 5 commits
-
-
Ryan Scott authored
There are many spots in `DsMeta` where `panic` or `notHandled` is used after pattern-matching on a TTG extension constructor. This is overkill, however, as using `noExtCon` would work just as well. This patch switches out these panics for `noExtCon`.
-
Ömer Sinan Ağacan authored
- Remove outdated comments - Move cutils.c from parser to cbits - Remove unused cutils.h
-
Gabor Greif authored
to be consistent what FP_GCC_VERSION requires
-
Gabor Greif authored
-
Sylvain Henry authored
-
- 24 Dec, 2019 3 commits
-
-
Sylvain Henry authored
-
Stefan Schulze Frielinghaus authored
-
Stefan Schulze Frielinghaus authored
Include header file `ghcautoconf.h` where the CPP macro `WORDS_BIGENDIAN` is defined. This finally fixes #17337 (in conjunction with commit 6c59cc71).
-
- 20 Dec, 2019 2 commits
-
-
Ryan Scott authored
Previously, `lookupBindGroupOcc`'s error message would recommend all similar names in scope, regardless of whether they were type constructors, data constructors, or functions, leading to the confusion witnessed in #17593. This is easily fixed by only recommending names in the same namespace, using the `nameSpacesRelated` function. Fixes #17593.
-
John Ericson authored
-
- 19 Dec, 2019 2 commits
-
-
Sylvain Henry authored
We can do a heap census with a non-profiling RTS. With a non-profiling RTS we don't zero superfluous bytes of shrunk arrays hence a need to handle the case specifically to avoid a crash. Revert part of a586b33f
-
Moritz Kiefer authored
In our codebase we have some code along the lines of ``` newStdout <- hDuplicate stdout stderr `hDuplicateTo` stdout ``` to avoid stray `putStrLn`s from corrupting a protocol (LSP) that is run over stdout. On CI we have seen a bunch of issues where `dup2` returned `EBUSY` so this fails with `ResourceExhausted` in Haskell. I’ve spent some time looking at the docs for `dup2` and the code in `base` and afaict the following race condition is being triggered here: 1. The user calls `hDuplicateTo stderr stdout`. 2. `hDuplicateTo` calls `hClose_help stdout_`, this closes the file handle for stdout. 3. The file handle for stdout is now free, so another thread allocating a file might get stdout. 4. If `dup2` is called while `stdout` (now pointing to something else) is half-open, it returns EBUSY. I think there might actually be an even worse case where `dup2` is run after FD 1 is fully open again. In that case, you will end up not just redirecting the original stdout to stderr but also the whatever resulted in that file handle being allocated. As far as I can tell, `dup2` takes care of closing the file handle itself so there is no reason to do this in `hDuplicateTo`. So this PR replaces the call to `hClose_help` by the only part of `hClose_help` that we actually care about, namely, `flushWriteBuffer`. I tested this on our codebase fairly extensively and haven’t been able to reproduce the issue with this patch.
-
- 18 Dec, 2019 1 commit
-
-
Sylvain Henry authored
* Add 'dumpAction' hook to DynFlags. It allows GHC API users to catch dumped intermediate codes and information. The format of the dump (Core, Stg, raw text, etc.) is now reported allowing easier automatic handling. * Add 'traceAction' hook to DynFlags. Some dumps go through the trace mechanism (for instance unfoldings that have been considered for inlining). This is problematic because: 1) dumps aren't written into files even with -ddump-to-file on 2) dumps are written on stdout even with GHC API 3) in this specific case, dumping depends on unsafe globally stored DynFlags which is bad for GHC API users We introduce 'traceAction' hook which allows GHC API to catch those traces and to avoid using globally stored DynFlags. * Avoid dumping empty logs via dumpAction/traceAction (but still write empty files to keep the existing behavior)
-
- 17 Dec, 2019 23 commits
-
-
Josh Meredith authored
-
Josh Meredith authored
-
Josh Meredith authored
-
Ben Gamari authored
Due to #17557. Also accepting spurious performance change. Metric Decrease: T1969
-
Ben Gamari authored
This reverts commit 6cfc47ec.
-
Ben Gamari authored
-
Ben Gamari authored
`T5435_v_asm_a`, `T5435_v_asm_b`, and `T5435_v_gcc` all fail on ARMv7. See #17559.
-
Ben Gamari authored
Previously it would hackily look at the flavour name to determine whether LLVM was used to build stage2 ghc. However, this didn't work at all with Hadrian and would miss cases like ARM where we use the LLVM backend by default. See #16087 for the motivation for why ghc_built_by_llvm is needed at all. This should catch one of the ARMv7 failures described in #17555.
-
Ben Gamari authored
Due to #17558.
-
Ben Gamari authored
Due to #17557.
-
Ben Gamari authored
Due to #17556.
-
Ben Gamari authored
Due to #17555.
-
Ben Gamari authored
Due to #17554. It's very surprising that this only occurs on ARMv7 but this is the only place I've seen this failure thusfar.
-
Ben Gamari authored
-
Ben Gamari authored
Also eliminate some redundancy.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
The python release shipped with deb8 (3.3) is too old for our testsuite driver.
-
Ben Gamari authored
-
Ben Gamari authored
Variable interpolation in gitlab-ci.yml apparently doesn't work. Sigh.
-
Richard Eisenberg authored
Close #17583. Test case: typecheck/should_fail/T17563
-
Krzysztof Gogolewski authored
As described in #17291, we'd like to separate coercions and expressions in a more robust fashion. This is a small step in this direction. - `mkLocalId` now panicks on a covar. Calls where this was not the case were changed to `mkLocalIdOrCoVar`. - Don't use "OrCoVar" functions in places where we know the type is not a coercion.
-
Krzysztof Gogolewski authored
As suggested in #17291
-