| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Previously we would flag the symbol as weak but failed
to set its address, which must be computed from an "auxiliary"
symbol entry the follows the weak symbol.
Fixes #21556.
|
|
|
|
| |
This makes it easier to see how resolution failures nest.
|
|
|
|
|
|
|
|
|
| |
Change mulArrow to allow for printing of correct application precedence
where necessary and update callers of mulArrow to reflect this.
As part of this, move mulArrow from GHC/Utils/Outputtable to GHC/Iface/Type.
Fixes #20315
|
|
|
|
|
| |
The documentation still mentioned Derived constraints and
an outdated datatype TcPluginResult.
|
|
|
|
|
| |
Metric Decrease:
T16875
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #21546
|
|
|
|
| |
This missing guard gave rise to #21519.
|
|
|
|
|
| |
Since f6e366c058b136f0789a42222b8189510a3693d1 setExecutable has been
dead code. Drop it.
|
|
|
|
|
|
|
| |
We still build Deb9 bindists for now due to Ubuntu 18 and Linux Mint 19
not being at EOL until April 2023 and they still need tinfo5.
Fixes #21469
|
|
|
|
|
|
| |
Both #20878 and #21196 were caused by unwanted dynamic dependencies
being introduced by boot libraries. Ensure that we catch this in CI by
attempting to run GHC in an environment with a minimal PATH.
|
|
|
|
|
|
|
|
|
|
|
| |
Ticket #21489 showed that the saturation mechanism for
DFuns (see Note Specialising DFuns) should use both
UnspecType and UnspecArg.
We weren't doing that; but this MR fixes that problem.
No test case because it's hard to tickle, but it showed up in
Gergo's work with GHC-as-a-library.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code
do; a <- doAsync; b
Generated an incorrect Anchor for the statement list that starts after
the first semicolon.
This commit fixes it.
Closes #20256
|
|
|
|
|
|
| |
The old code used by via-C backend didn't handle the sign bit of NaN.
See #21043.
|
| |
|
|
|
|
|
|
|
|
| |
When passed `--use-system-libffi` then we shouldn't copy and install the
headers from the system package. Instead the headers are expected to be
available as a runtime dependency on the users system.
Fixes #21485 #21487
|
|
|
|
|
|
|
|
|
|
|
| |
This has high potential for oversubcribing as many haddock jobs can be
spawned in parralel which will each request the given number of
capabilities.
Once -jsem is implemented (#19416, !5176) we can expose that haddock via
haddock and use that to pass a semaphore.
Ticket #21136
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the make bindists we generate documentation in docs/ghc-<VER> but the
hadrian bindists generate docs/ghc/ so the path to the GHC API docs was
wrong in the index.html file.
Rather than make the hadrian and make bindists the same it was easier to
assume that if you're using the mkDocs script that you're using hadrian
bindists.
Fixes #21509
|
|
|
|
|
|
|
| |
We assumed the wrapper for an unlifted binding is the identity,
but as #21516 showed, that is no always true.
Solution is simple: use it.
|
|
|
|
|
|
|
|
|
| |
In 8f71d958 the make build system was made to use split-sections on
linux systems but it appears this logic never made it to hadrian.
There is the split_sections flavour transformer but this doesn't appear
to be used for perf builds on linux.
Closes #21135
|
|
|
|
|
|
|
|
|
|
|
|
| |
The splitSections transformer has been broken since -dynamic-too support
was implemented in hadrian. This is because we actually build the
dynamic way when building the dynamic way, so the predicate would always
fail.
The fix is to just always pass `split-sections` even if it doesn't do
anything for a particular way.
Fixes #21138
|
|
|
|
|
|
|
|
|
|
| |
This fixes #21479
See Note [Unquantified tyvars in a pattern synonym]
While doing this, I found that some error messages pointed at the
pattern synonym /name/, rather than the /declaration/ so I widened the
SrcSpan to encompass the declaration.
|
|
|
|
|
|
|
| |
As noted in #21485, we checked for ffi.h yet then failed to throw an
error if it is missing.
Fixes #21485.
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems like it was just an oversight to use the incorrect DynFlags
(global rather than local) when implementing these two options. Using
the local flags allows users to request these intermediate files get
cleaned up, which works fine in --make mode because
1. Interface files are stored in memory
2. Object files are only cleaned at the end of session (after link)
Fixes #21349
|
| |
|
|
|
|
|
|
| |
Add a paragraph that clarifies that `occurAnalysePgm` finding out-of-order
references, and thus needing to glom, is not a cause for concern when its
root cause is rewrite rules.
|
| |
|
|
|
|
|
|
|
| |
This commit reaffects the new Ix instances of the foreign integral
types from base 4.17 to 4.16.1.0
closes #21529
|
|
|
|
|
|
|
|
|
| |
When docs are disabled the bindist does not have docs/ and hence docs-utils/ is not generated.
Here we just test that docs-utils exists before attempting to install prologue.txt and gen_contents_index
to avoid the error:
/usr/bin/install: cannot stat 'docs-utils/prologue.txt': No such file or directory
make: *** [Makefile:195: install_docs] Error 1
|
| |
|
| |
|
|
|
|
| |
mapAdjust is more efficient than mapAlter.
|
|
|
|
|
|
|
| |
Fixes #21362
Metric Decrease:
T16875
|
|
|
|
|
| |
We need to distribute the source tarball so we should generate it in the
CI pipeline.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
There is a mis-match between the TH representation of OPAQUE pragmas and
GHC's internal representation due to how OPAQUE pragmas disallow phase
annotations. It seemed most in keeping to just fix the wired in name
issue by adding a special case to the desugaring of INLINE pragmas
rather than making TH/GHC agree with how the representation should look.
Fixes #21463
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following is currently rejected:
```haskell
-- F is an Applicative but not a Monad
x :: F (Int, Int)
x = do
a <- pure 0
let b = 1
pure (a, b)
```
This has bitten me multiple times. This MR contains a simple fix:
only allow a "let only" segment to be merged with the next (and not
the previous) segment. As a result, when the last one or more
statements before pure/return are `LetStmt`s, there will be one
more segment containing only those `LetStmt`s.
Note that if the `let` statement mentions a name bound previously, then
the program is still rejected, for example
```haskell
x = do
a <- pure 0
let b = a + 1
pure (a, b)
```
or the example in #18559. To support this would require a more
complex approach, but this is IME much less common than the
previous case.
|
| |
|
|
|
|
|
|
|
|
| |
Previously we only preserved the bottom 64-bits of the callee-saved
128-bit XMM registers, in violation of the Win64 calling convention.
Fix this.
Fixes #21465.
|
|
|
|
|
|
|
|
| |
There have been quite a few situations where jobs.yaml has been out of
date. It's better to add a CI job which checks that it's right.
We don't want to use a staged pipeline because it obfuscates the
structure of the pipeline.
|
|
|
|
|
| |
Updates the documentation notes to start tracking changes for
the 9.6.1 release (instead of 9.4).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
applications
The main fix is that in addVoidWorkerArg we now add the argument to the front.
This fixes #21448.
-------------------------
Metric Decrease:
T16875
-------------------------
|
| |
|
| |
|
| |
|
| |
|