- Jul 20, 2023
-
-
The function GHC.Tc.Errors.validHoleFits would end up panicking when encountering a Given constraint. To fix this, it suffices to filter out the Givens before continuing. Fixes #22684 (cherry picked from commit 630e3026)
-
Sylvain Henry authored
(cherry picked from commit 550af505)
-
The GREInfo for a record field should include the collection of all the data constructors of the parent TyCon that have this record field. This information was being incorrectly computed in the tyThingLocalGREs function for a DataCon, as we were not taking into account other DataCons with the same parent TyCon. Fixes #23546 (cherry picked from commit 61b1932e)
-
There was an oversight in the driver which assumed that you would always produce a `.o` file when compiling a .cmm file. Fixes #23610 (cherry picked from commit 76983a0d)
-
This extra bit of information was accidentally being discarded after a refactoring of the way we reported problems when unifying a type variable with another type. This patch rectifies that. (cherry picked from commit 2b55cb5f)
-
(cherry picked from commit 4af7eac2)
-
Polymorphic specialisation has led to a number of hard to diagnose incorrect runtime result bugs (see #23469, #23109, #21229, #23445) so this commit introduces a flag `-fpolymorhphic-specialisation` which allows users to turn on this experimental optimisation if they are willing to buy into things going very wrong. Ticket #23469 (cherry picked from commit 9f01d14b)
-
(cherry picked from commit 4457da2a)
-
Sylvain Henry authored
(cherry picked from commit 78b2f3cc)
-
Ben Gamari authored
-
Ben Gamari authored
-
- Jul 19, 2023
-
-
Ben Gamari authored
-
Ben Gamari authored
When the Win32 threaded IO manager shuts down, `ioManagerDie` sends an `IO_MANAGER_DIE` event to the IO manager thread using the `io_manager_event` event object. Finally, it will closes the event object, and invalidate `io_manager_event`. Previously, `readIOManagerEvent` would see that `io_manager_event` is invalid and return `0`, suggesting that everything is right with the world. This meant that if `ioManagerDie` invalidated the handle before the event manager was blocked on the event we would end up in a situation where the event manager would never realize it was asked to shut down. Fix this by ensuring that `readIOManagerEvent` instead returns `IO_MANAGER_DIE` when we detect that the event object has been invalidated by `ioManagerDie`. Fixes #23691.
-
Ben Gamari authored
-
- Jul 13, 2023
-
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
This test passes on dynamically-linked Alpine.
-
Ben Gamari authored
Due to spurious output changes described in #23648.
-
Ben Gamari authored
Metric Increase: T6048
-
Ben Gamari authored
To freeze emsdk, avoiding #23641.
-
- Jul 12, 2023
-
-
Ben Gamari authored
x86-64/Darwin's toolchain inexplicably warns that collectFreshWeakPtrs needs to be a prototype. (cherry picked from commit bb0ed354)
-
Ben Gamari authored
-
GHC.Rename.Utils concrete helpers instead of wrapGenSpan + HS AST constructors (cherry picked from commit dd782343)
-
(cherry picked from commit 3efe7f39)
-
This fixes #23492. The problem was that we used the real source span of the field declaration for the generated catch-all case in the selector function, in particular in the generated call to `recSelError`, which meant it was included in the HIE output. Using `generatedSrcSpan` instead means that it is not included. (cherry picked from commit 356a2692)
-
(cherry picked from commit 6074cc3c)
-
- cache last elements of `relTable`, `relaTable` and `symbolTables` in `ocInit_ELF` - cache shndx table in ObjectCode - run `checkProddableBlock` only with debug rts (cherry picked from commit b3e1436f)
-
This addresses the work of ticket #20118 Created the following constructors for TcRnMessage - TcRnInaccessibleCoAxBranch - TcRnPatersonCondFailure (cherry picked from commit 03f941f4)
-
Fixes #23272 (cherry picked from commit 6fdcf969)
-
Fixes #23267 (cherry picked from commit 40f4ef7c)
-
Bytecode instructions like PUSH_L (push a local variable) contain an operand that refers to the stack slot. Before this patch, the operand type was SmallOp (Word16), limiting the maximum stack offset to 65535 words. This could cause compiler panics in some cases (See #22888). This patch changes the operand type for stack offsets from SmallOp to Op, removing the stack offset limit. Fixes #22888 (cherry picked from commit 564164ef)
-
Ben Gamari authored
Previously, it was possible for pinned, aligned allocation requests to allocate beyond the end of the pinned accumulator block. Specifically, we failed to account for the padding needed to achieve the requested alignment in the "large object" check. With large alignment requests, this can result in the allocator using the capability's pinned object accumulator block to service a request which is larger than `PINNED_EMPTY_SIZE`. To fix this we reorganize `allocatePinned` to consistently account for the alignment padding in all large object checks. This is a bit subtle as we must handle the case of a small allocation request filling the accumulator block, as well as large requests. Fixes #23400. (cherry picked from commit fd8c5769)
-
For the docs:* rule we need to actually build the package rather than just the haddocks for the dependent packages. Therefore we depend on the .conf files of the packages we are trying to build documentation for as well as the .haddock files. Fixes #23472 (cherry picked from commit d7f6448a)
-
Ben Gamari authored
(cherry picked from commit dec81dd1)
-
Ben Gamari authored
(cherry picked from commit cb92051e)
-
Ben Gamari authored
As debugTrace is a macro we must take care to ensure that the fact is clear to the compiler lest we see warnings. (cherry picked from commit 7c7d1f66)
-