| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #21336.
|
|
|
|
|
| |
It turns out this job hasn't been running for quite a while (perhaps
ever) so there are quite a few failures when running the linter locally.
|
| |
|
| |
|
|
|
|
| |
asynchronous.
|
|
|
|
|
| |
This commit adds the `lint:compiler` Hadrian target to the CI runner.
It does also fixes hints in the compiler/ and libraries/base/ codebases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* `openFile` could sometimes leak file descriptors if it
received an asynchronous exception (#19114, #19115). Fix this
on POSIX.
* `openFile` and more importantly `openFileBlocking` could not
be interrupted effectively during the `open` system call (#17912).
Fix this on POSIX.
* Implement `readFile'` using `withFile` to ensure the file is closed promptly on exception.
* Avoid `bracket` in `withFile`, reducing the duration of masking.
Closes #19130.
Addresses #17912, #19114, and #19115 on POSIX systems, but not
on Windows.
|
|
|
|
| |
See https://gitlab.haskell.org/ghc/ghc/-/issues/18854
|
|
|
|
|
|
| |
The ccall calling convention doesn't support varargs functions, so
switch to capi instead. See
https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/ffi.html#varargs-not-supported-by-ccall-calling-convention
|
|
|
|
| |
These were incorrectly removed in a recent cleanup commit.
|
| |
|
| |
|
|
|
|
|
|
| |
value is clear.
[skip ci]
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Otherwise we would truncate the file.
|
|
|
|
|
|
|
| |
bufReadEmpty returns the bytes read *including* content that
was already buffered,
But for calculating the offset we only care about the number
of bytes read into the new buffer.
|
|
|
|
|
|
| |
I think it's far easier to follow the code now.
It's also correct now as I had still missed a spot
where we didn't update the offset.
|
| |
|
|
|
|
|
| |
This was caused by not upholding the read buffer invariant
that bufR == bufL == 0 for empty read buffers.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Not only is this a good idea in general but this should also avoid
issue #17950 by ensuring that off_t is 64-bits.
|
|
|
|
|
|
| |
Fixes #17979.
[ci skip]
|
| |
|
|
|
|
|
|
| |
incomplete-uni-patterns and incomplete-record-updates will be in -Wall at a
future date, so prepare for that by disabling those warnings on files that
trigger them.
|
|
|
|
| |
Also state that a deadlock can happen with the non-threaded runtime.
[ci skip]
|
| |
|
|
|
|
|
|
|
| |
Previously we were including <sys/unistd.h> which is available on glibc
but not musl.
(cherry picked from commit e44b695ca7cb5f3f99eecfba05c9672c6a22205e)
|
| |
|
|
|
|
| |
This makes the CPP significantly easier to follow.
|
|
|
|
|
|
|
|
|
| |
The OFD locking path introduced in
3b784d440d4b01b4c549df7c9a3ed2058edfc780 due to #13945 appears to have
never actually worked but we never noticed due to an oversight in the
autoconf check. Fix it.
Thanks to Oleg Grenrus for noticing this.
|
|
|
|
|
|
| |
Unfortunately this was introduced in base-4.11.0 (GHC 8.4.1)
whereas the other locking primitives were added in base-4.10.0 (GHC
8.2.1).
|
|
|
|
|
|
|
|
| |
Character literals in Haddock should not be written as plain `'\n'` since
single quotes are for linking identifiers. Besides, since we want the
character literal to be monospaced, we really should use `@\'\\n\'@`.
[skip ci]
|
|
|
|
| |
GHC Trac Issues: #15447
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in #15715, the POSIX specification specifies that
attempting to open a FIFO in write-only mode when the FIFO has no
readers will fail with -ENOENT.
[skip ci]
Test Plan: Read it
Reviewers: hvr
Subscribers: rwbarton, carter
GHC Trac Issues: #15715
Differential Revision: https://phabricator.haskell.org/D5295
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
I believe that demand analysis doesn't notice that these are morally strict in
the pointer argument due to the `count == 0` special case. Fixes #15638.
Test Plan: Validate
Reviewers: andrewthad, hvr
Reviewed By: andrewthad
Subscribers: rwbarton, carter
GHC Trac Issues: #15638
Differential Revision: https://phabricator.haskell.org/D5149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This drastically cuts down on the number of Haddock warnings when making
docs for `base`. Plus this means more actual links end up in the docs!
Also fixed other small mostly markup issues in the documentation along
the way.
This is a docs-only change.
Reviewers: hvr, bgamari, thomie
Reviewed By: thomie
Subscribers: thomie, rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: ./validate
Reviewers: hvr, goldfire, bgamari, RyanGlScott
Reviewed By: RyanGlScott
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #11767
Differential Revision: https://phabricator.haskell.org/D4452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There appears to be no benefit in inlining this function.
If you turn up the unfolding threshold a lot then it eventually
inlines which produces a bit unoptimisable program.
Reviewers: hvr, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4246
|