Commits on Source (16)
-
In simplCast I totally failed to keep the sc_hole_ty field of ApplyToTy (see Note [The hole type in ApplyToTy]) up to date. When a cast goes by, of course the hole type changes. Amazingly this has not bitten us before, but #16312 finally triggered it. Fortunately the fix is simple. Fixes #16312. (cherry picked from commit ef36b102)
-
Ben Gamari authored
Previously hsc2hs failed when building against a system FFI. (cherry picked from commit 1abb76ab)
-
(cherry picked from commit 9047f184)
-
(cherry picked from commit 75abaaea)
-
Ben Gamari authored
(cherry picked from commit 41bf4045)
-
(cherry picked from commit cfd3e0f1)
-
(cherry picked from commit e87b9f87)
-
On powerpc32 64-bit comparison code generated dangling target labels. This caused ghc build failure as: $ ./configure --target=powerpc-unknown-linux-gnu && make ... SCCs aren't in reverse dependent order bad blockId n3U This happened because condIntCode' in PPC codegen generated label name but did not place the label into `cmp_lo` code block. The change adds the `cmp_lo` label into the case of negative comparison. Signed-off-by:Sergei Trofimovich <slyfox@gentoo.org> (cherry picked from commit 973077ac)
-
When ghc was built for powerpc32 built failed as: It's a fallout of commit 3f46cffc ("PPC NCG: Refactor stack allocation code") where word size used to be II32/II64 and changed to II8/panic "no width for given number of bytes" widthFromBytes ((platformWordSize platform) `quot` 8) The change restores initial behaviour by removing extra division. Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> (cherry picked from commit bb2ee86a)
-
Unboxed tuples and sums take extra RuntimeRep arguments, which must be manually passed in a few places. This was not done in deSugar/Check. This error was hidden because zipping functions in TyCoRep ignored lists with mismatching length. This is now fixed; the lengths are now checked by calling zipEqual. As suggested in #16565, I moved checking for isTyVar and isCoVar to zipTyEnv and zipCoEnv. (cherry picked from commit 69b16331)
-
(cherry picked from commit ca721193)
-
`checkUnload` currently doesn't check the info header of static objects. Thus, it may free an `ObjectCode` struct wrongly even if there's still a live static object whose info header lies in a mapped section of that `ObjectCode`. This fixes the issue by adding an appropriate check. (cherry picked from commit fc6b23be)
-
Ben Gamari authored
Fixes #16689. (cherry picked from commit 29ec33cd)
-
Issue #15862 demonstrated examples of type constructors on which `TcTypeable.tyConIsTypeable` would return `False`, but the `Typeable` constraint solver in `ClsInst` (in particular, `doTyConApp`) would try to generate `Typeable` evidence for anyway, resulting in disaster. This incongruity was caused by the fact that `doTyConApp` was using a weaker validity check than `tyConIsTypeable` to determine if a type constructor warrants `Typeable` evidence or not. The solution, perhaps unsurprisingly, is to use `tyConIsTypeable` in `doTyConApp` instead. To avoid import cycles between `ClsInst` and `TcTypeable`, I factored out `tyConIsTypeable` into its own module, `TcTypeableValidity`. Fixes #15862. (cherry picked from commit 25ee60cd)
compiler/typecheck/TcTypeableValidity.hs
0 → 100644