Apoorv Ingle pushed to branch wip/spj-apporv-Oct24 at Glasgow Haskell Compiler / GHC Commits: 023c301c by sheaf at 2026-01-13T04:57:30-05:00 Don't re-use stack slots for growing registers This commit avoids re-using a stack slot for a register that has grown but already had a stack slot. For example, suppose we have stack slot assigments %v1 :: FF64 |-> StackSlot 0 %v2 :: FF64 |-> StackSlot 1 Later, we start using %v1 at a larger format (e.g. F64x2) and we need to spill it again. Then we **must not** use StackSlot 0, as a spill at format F64x2 would clobber the data in StackSlot 1. This can cause some fragmentation of the `StackMap`, but that's probably OK. Fixes #26668 - - - - - d0966e64 by fendor at 2026-01-13T04:58:11-05:00 Remove `traceId` from ghc-pkg executable - - - - - 20d7efec by Simon Peyton Jones at 2026-01-13T12:41:22-05:00 Make SpecContr rules fire a bit later See #26615 and Note [SpecConstr rule activation] - - - - - 8bc4eb8c by Andrew Lelechenko at 2026-01-13T12:42:03-05:00 Upgrade mtl submodule to 2.3.2 Fixes #26656 - - - - - c94aaacd by Cheng Shao at 2026-01-13T12:42:44-05:00 compiler: remove iserv and only use on-demand external interpreter This patch removes `iserv` from the tree completely. Hadrian would no longer build or distribute `iserv`, and the GHC driver would use the on-demand external interpreter by default when invoked with `-fexternal-interpreter`, without needing to specify `-pgmi ""`. This has multiple benefits: - It allows cleanup of a lot of legacy hacks in the hadrian codebase. - It paves the way for running cross ghc's iserv via cross emulator (#25523), fixing TH/ghci support for cross targets other than wasm/js. - - - - - c1fe0097 by Peter Trommler at 2026-01-14T03:54:49-05:00 PPC NCG: Fix shift right MO code The shift amount in shift right [arithmetic] MOs is machine word width. Therefore remove unnecessary zero- or sign-extending of shift amount. It looks harmless to extend the shift amount argument because the shift right instruction uses only the seven lowest bits (i. e. mod 128). But now we have a conversion operation from a smaller type to word width around a memory load at word width. The types are not matching up but there is no check done in CodeGen. The necessary conversion from word width down to the smaller width would be translated into a no-op on PowerPC anyway. So all seems harmless if it was not for a small optimisation in getRegister'. In getRegister' a load instruction with the smaller width of the conversion operation was generated. This loaded the most significant bits of the word in memory on a big-endian platform. These bits were zero and hence shift right was used with shift amount zero and not one as required in test Sized. Fixes #26519 - - - - - 2dafc65a by Cheng Shao at 2026-01-14T03:55:31-05:00 Tree-wide cleanup of cygwin logic GHC has not supported cygwin for quite a few years already, and will not resume support in the forseeable future. The only supported windows toolchain is clang64/clangarm64 of the msys2 project. This patch cleans up the unused cygwin logic in the tree. Co-authored-by: Codex <codex@openai.com> - - - - - 66b96e2a by Teo Camarasu at 2026-01-14T03:56:13-05:00 Set default eventlog-flush-interval to 5s Resolves #26707 - - - - - d0254579 by Andrew Lelechenko at 2026-01-14T03:56:53-05:00 Document when -maxN RTS option was added - - - - - f25e2b12 by Cheng Shao at 2026-01-14T11:10:39-05:00 testsuite: remove obsolete --ci option from the testsuite driver This patch removes the obsolete `--ci` option from the testsuite driver: neither the CI scripts nor hadrian ever invokes the testsuite driver with `--ci`, and the perf notes are always fetched to the `refs/notes/perf` local reference anyway. - - - - - 7964763b by Julian Ospald at 2026-01-14T11:11:31-05:00 Fix fetch_cabal * download cabal if the existing one is of an older version * fix FreeBSD download url * fix unpacking on FreeBSD - - - - - 6b0129c1 by Julian Ospald at 2026-01-14T11:11:31-05:00 Bump toolchain in CI - - - - - 0f53ccc6 by Julian Ospald at 2026-01-14T11:11:31-05:00 Use libffi-clib Previously, we would build libffi via hadrian and bundle it manually with the GHC bindist. This now moves all that logic out of hadrian and allows us to have a clean Haskell package to build and link against and ship it without extra logic. This patch still retains the ability to link against a system libffi. The main reason of bundling libffi was that on some platforms (e.g. FreeBSD and Mac), system libffi is not visible to the C toolchain by default, so users would require settings in e.g. cabal to be able to compile anything. This adds the submodule libffi-clib to the repository. - - - - - 5e1cd595 by Peng Fan at 2026-01-14T11:12:26-05:00 NCG/LA64: add support for la664 micro architecture Add '-mla664' flag to LA664, which has some new features: atomic instructions, dbar hints, etc. 'LA464' is the default so that unrecognized instructions are not generated. - - - - - c56567ec by Simon Peyton Jones at 2026-01-15T23:19:04+00:00 Add evals for strict data-con args in worker-functions This fixes #26722, by adding an eval in a worker for arguments of strict data constructors, even if the function body uses them strictly. See (WIS1) in Note [Which Ids should be strictified] I took the opportunity to make substantial improvements in the documentation for call-by-value functions. See especially Note [CBV Function Ids: overview] in GHC.Types.Id.Info Note [Which Ids should be CBV candidates?] ditto Note [EPT enforcement] in GHC.Stg.EnforceEpt among others. - - - - - 9719ce5d by Simon Peyton Jones at 2026-01-15T23:19:04+00:00 Improve `interestingArg` This function analyses a function's argument to see if it is interesting enough to deserve an inlining discount. Improvements for * LitRubbish arguments * exprIsExpandable arguments See Note [Interesting arguments] which is substantially rewritten. - - - - - 7b616b9f by Cheng Shao at 2026-01-16T06:45:00-05:00 compiler: fix regression when compiling foreign stubs in the rts unit This patch fixes a regression when compiling foreign stubs in the rts unit introduced in 05e25647f72bc102061af3f20478aa72bff6ff6e. A simple revert would fix it, but it's better to implement a proper fix with comment for better understanding of the underlying problem, see the added comment for explanation. Co-authored-by: Codex <codex@openai.com> - - - - - c343ef64 by Sylvain Henry at 2026-01-16T06:45:51-05:00 base: remove GHC.JS.Prim.Internal.Build (#23432) See accepted CLC proposal https://github.com/haskell/core-libraries-committee/issues/329 - - - - - 29c0aceb by Simon Peyton Jones at 2026-01-16T17:18:11-05:00 Improve newtype unwrapping Ticket #26746 describes several relatively-minor shortcomings of newtype unwrapping. This MR addresses them, while also (arguably) simplifying the code a bit. See new Note [Solving newtype equalities: overview] and Note [Decomposing newtype equalities] and Note [Eager newtype decomposition] and Note [Even more eager newtype decomposition] For some reason, on Windows only, runtime allocations decrease for test T5205 (from 52k to 48k). I have not idea why. No change at all on Linux. I'm just going to accept the change. (I saw this same effect in another MR so I think it's a fault in the baseline.) Metric Decrease: T5205 - - - - - 8b59e62c by Andreas Klebinger at 2026-01-16T17:18:52-05:00 testsuite: Widen acceptance window for T5205. Fixes #26782 - - - - - 9e5e0234 by mangoiv at 2026-01-17T06:03:03-05:00 add a new issue template for getting verified To reduce spam created by new users, we will in future not grant any rights but reporting issues to new users. That is why we will have to be able to verify them. The added issue template serves that purpose. - - - - - b18b2c42 by Cheng Shao at 2026-01-17T06:03:44-05:00 llvm: fix split sections for llvm backend This patch fixes split sections for llvm backend: - Pass missing `--data-sections`/`--function-sections` flags to llc/opt. - Use `@llvm.compiler.used` instead of `@llvm.used` to avoid sections being unnecessarily retained at link-time. Fixes #26770. ------------------------- Metric Decrease: libdir size_hello_artifact size_hello_unicode ------------------------- Co-authored-by: Codex <codex@openai.com> - - - - - ebf66f67 by Cheng Shao at 2026-01-17T13:16:50-05:00 Update autoconf scripts Scripts taken from autoconf a2287c3041a3f2a204eb942e09c015eab00dc7dd - - - - - 598624b9 by Andreas Klebinger at 2026-01-17T13:17:32-05:00 CString.hs: Update incorrect comment. Fixes #26322 - - - - - eea2036b by Cheng Shao at 2026-01-18T10:00:49-05:00 libraries: bump haskeline submodule to 0.8.4.1 This patch bumps the haskeline submodule to 0.8.4.1 which includes an important fix for an ANSI handling bug on Windows (https://github.com/haskell/haskeline/pull/126). - - - - - 87d8f6c2 by Cheng Shao at 2026-01-18T10:01:30-05:00 hadrian: replace default -H32m/-H64m with -O64M to improve mutator productivity Most hadrian build flavours pass `-H32m`/`-H64m` to GHC as conventional wisdom to improve mutator productivity and reduce GC overhead. They were inherited from the legacy Make build system, and there used to be make flags to instrument a build process with `-Rghc-timing` option to collect GC stats of each GHC run from stderr. It's time to revisit whether there are better defaults for `-H32m`/`-H64m`, and this patch changes it to `-O64M` which indeed improves mutator productivity based on real statistics. `-O64M` is more aggressive than `-H64m`; it allows the old generation to grow to at least 64M before triggering major GC and reduces major GC runs. The stats of a clean build with `validate` flavour and `-H64m`: ``` h64m.log matched RTS stat lines: 5499 sum MUT cpu : 2400.808 s sum GC cpu : 1378.292 s sum MUT elapsed : 2788.253 s sum GC elapsed : 1389.233 s GC/MUT cpu ratio : 0.574 (GC is 57.4% of MUT) GC/MUT elapsed ratio : 0.498 (GC is 49.8% of MUT) GC fraction of (MUT+GC) cpu : 36.5% GC fraction of (MUT+GC) elapsed : 33.3% per-line GC/MUT cpu ratio: median 0.691, p90 1.777 per-line GC/MUT elapsed ratio: median 0.519, p90 1.081 ``` The stats of a clean build with `validate` flavour and `-O64M`: ``` o64m.log matched RTS stat lines: 5499 sum MUT cpu : 2377.383 s sum GC cpu : 1127.146 s sum MUT elapsed : 2758.857 s sum GC elapsed : 1135.587 s GC/MUT cpu ratio : 0.474 (GC is 47.4% of MUT) GC/MUT elapsed ratio : 0.412 (GC is 41.2% of MUT) GC fraction of (MUT+GC) cpu : 32.2% GC fraction of (MUT+GC) elapsed : 29.2% per-line GC/MUT cpu ratio: median 0.489, p90 1.099 per-line GC/MUT elapsed ratio: median 0.367, p90 0.806 ``` Mutator time is roughly in the same ballpark, but GC CPU time has reduced by 18.22%, and mutator productivity has increased from 63.5% to 67.8%. - - - - - 8372e13d by Cheng Shao at 2026-01-18T10:02:12-05:00 rts: remove unused .def files from rts/win32 This patch removes unused .def files from `rts/win32`, given we don't build .dll files for rts/ghc-internal/ghc-prim at all. Even when we resurrect win32 dll support at some point in the future, these .def files still contain incorrect symbols anyway and won't be of any use. - - - - - f6af485d by Cheng Shao at 2026-01-18T10:03:19-05:00 .gitmodules: use gitlab mirror for the libffi-clib submodule This patch fixes .gitmodules to use the gitlab mirror for the libffi-clib submodule, to make it coherent with other submodules that allow ghc developers to experiment with wip branches in submodules for ghc patches. Fixes #26783. - - - - - 41432d25 by Cheng Shao at 2026-01-18T10:05:13-05:00 hadrian: remove the horrible i386 speedHack When hadrian builds certain rts objects for i386, there's a horrible speedHack that forces -fno-PIC even for dynamic ways of those objects. This is not compatible with newer versions of gcc/binutils as well as clang/lld, and this patch removes it. Fixes #26792. - - - - - 323eb8f0 by Cheng Shao at 2026-01-18T21:48:19-05:00 hadrian: enable split sections for cross stage0 This patch fixes a minor issue with `splitSectionsArgs` in hadrian: previously, it's unconditionally disabled for stage0 libraries because it's not going to be shipped in the final bindists. But it's only true when not cross compiling. So for now we also need to enable it for cross stage0 as well. - - - - - 3fadfefe by Andreas Klebinger at 2026-01-18T21:49:01-05:00 RTS: Document -K behaviour better - - - - - b1622aed by Apoorv Ingle at 2026-01-19T13:20:12-06:00 This commit: - Streamlines implementations of `tcExpr` and `tcXExpr` to work on `XExpr` Calls `setInGeneratedCode` everytime the typechecker goes over an `XExpr` - Kills `VACtxt` (and its associated VAExpansion and VACall) datatype, it is subsumed by simply a SrcSpan. - Kills the function `addHeadCtxt` as it is now mearly setting a location - The function `tcValArgs` does its own argument number management - Makes `splitHsApps` not look through `XExpr` - `tcExprSigma` is called if the head of the expression after calling `splitHsApps` turns out to be an `XExpr` - Removes location information from `OrigPat` payload - Removes special case of tcBody from `tcLambdaMatches` - Removes special case of `dsExpr` for `ExpandedThingTc` - Moves `setQLInstLevel` inside `tcInstFun` - Rename `HsThingRn` to `SrcCodeCtxt` - Kills `tcl_in_gen_code` and `tcl_err_ctxt`. It is subsumed by `ErrCtxtStack` - Kills `ExpectedFunTyOrig`. It is subsumed by `CtOrigin` - Fixes `CtOrigin` for `HsProjection` case in `exprCtOrigin`. It was previously assigned to be `SectionOrigin`. It is now just the expression - Adds a new `CtOrigin.ExpansionOrigin` for storing the original syntax - Adds a new `CtOrigin.ExpectedTySyntax` as a replacement for `ExpectedTySyntaxOp`. Cannot kill the former yet because of `ApplicativeDo` - Renames `tcMonoExpr` -> `tcMonoLExpr`, `tcMonoExprNC` -> `tcMonoLExpr` - Renames `EValArg`, `EValArgQL` fields: `ea_ctxt` -> `ea_loc_span` and `eaql_ctx` -> `eaql_loc_span` Notes added [Error Context Stack] Notes updated Note [Expanding HsDo with XXExprGhcRn] ------------------------- Metric Decrease: T9020 ------------------------- - - - - - c83d2222 by Apoorv Ingle at 2026-01-19T13:20:13-06:00 - kill PopErrCtxt - Pass in the location of the head of the application chain to `addArgCtxt` to print better error messages. Make `addArgCtxt` print in the nth argument if the head of the application chain is user located. - match context with record updates dont get added in error context - Do not use HsPar in Last statement - simplify addArgCtxt and push setSrcSpan inside addLExprCtxt. Make sure addExprCtxt is not called by itself - fun_orig in tcApp depends on the SrcSpan of the head of the application chain (similar to addArgCtxt) - rename fun_ctxt to fun_lspan, fun_orig passed in tcInstFun to default to app chain head if its user located, fall back to srcCodeOrigin if it's a generated location - fix quickLookArg function to blame the correct application chain head. The arguments application chain head should be blamed, not the original head when we quick look arg - Make sure only expression wrapped around generated src span are ignored while adding them to the error context stack - In `addArgCtxt` the nth argument's err ctxt adds a generated error ctxt if the argument is XExpr - - - - - 452bf2a6 by Apoorv Ingle at 2026-01-19T13:20:13-06:00 - make sure landmark error contexts are always printed. accept some testcases - fix overloaded list error message. Expanded Expressions head `listFromN` should be wrapped in a generated source span (Wrinkle) This may make some HIE tests to fail, but HIE should fix the behaviour there. - Fix notes - fix for MonadFailErrors test case. OrigPat now also stores the statement to make the error message resonable - - - - - 678820ca by Apoorv Ingle at 2026-01-19T13:21:33-06:00 - `getDeepSubsumptionFlag_DataConHead` performs a non-trivial traversal if the expression passed to it is complex. This traversal is necessary if the head of the function is an `XExpr` and `splitHsApps` does not look through them - The deepsubsumption flag is stored in EVAlArgQL to reduce the need to call `getDeepSubsumptionFlag_DataConHead` - `getDeepSubsumptionFlag_DataConHead` is called in `tcExprSigma` and `tcInferAppHead` to reduce AST traversals - refactor building CtOrigin before instantiations as a function. It does state lookup only if needed. - In tcDoStmts, we lose the location of the first statement. It is needed for getting the pattern match check right Further, do not call addErrCtxt on it, the tcMonoLExpr will do it for us. - during QL arg's function head instantiation use more a more accurate location for arg when the application chain is null - - - - - 107612ff by Apoorv Ingle at 2026-01-19T13:22:00-06:00 do not add error context in tcExprSigma for XExpr and do not setQLInstLevel before tcInstFun - - - - - 072ef03e by Apoorv Ingle at 2026-01-19T13:22:01-06:00 wrap expanded records in an XExpr. Accept test cases - - - - - 3fe78b11 by Apoorv Ingle at 2026-01-19T13:22:01-06:00 in QuicklookArg, wrap the inferAppHead_maybe with an optional error context update. If the head is a XExpr, we need to flip the state to generated - - - - - bf2b0724 by Apoorv Ingle at 2026-01-19T13:22:01-06:00 ignore patterns wrapped around generated src span while type checking patterns - - - - - f0ff7ea9 by Apoorv Ingle at 2026-01-19T13:22:01-06:00 fixing some more error messages - - - - - cd493daa by Apoorv Ingle at 2026-01-19T13:22:01-06:00 wrap fromListN with a generated src span - - - - - b032d467 by Apoorv Ingle at 2026-01-19T13:22:01-06:00 some minor things - - - - - 23e2a676 by Apoorv Ingle at 2026-01-19T13:22:01-06:00 enable NB for custom, user written HasField constraint errors - - - - - 496c337e by Apoorv Ingle at 2026-01-19T13:22:02-06:00 rebase changes - - - - - c6fdd282 by Apoorv Ingle at 2026-01-19T13:22:02-06:00 add Overview note - - - - - 1d90a947 by Apoorv Ingle at 2026-01-19T13:22:02-06:00 fix for failing test case - - - - - f59e1ed0 by Apoorv Ingle at 2026-01-19T13:32:16-06:00 do not overwrite err ctxt head when we add err ctxt due to expanded exprs `(XExpr (OrigStmt{})` fixes RecordDotSyntaxFail test cases where a record is updated within a do statement - - - - - 211 changed files: - .gitlab/ci.sh - .gitlab/generate-ci/gen_ci.hs - + .gitlab/issue_templates/get-verified.md - .gitlab/jobs.yaml - .gitmodules - CODEOWNERS - cabal.project-reinstall - compiler/GHC/CmmToAsm/Config.hs - compiler/GHC/CmmToAsm/PPC/CodeGen.hs - compiler/GHC/CmmToAsm/Reg/Linear.hs - compiler/GHC/CmmToAsm/Reg/Linear/StackMap.hs - compiler/GHC/CmmToLlvm.hs - compiler/GHC/CmmToLlvm/Base.hs - compiler/GHC/Core/FamInstEnv.hs - compiler/GHC/Core/Opt/Arity.hs - compiler/GHC/Core/Opt/Simplify/Env.hs - compiler/GHC/Core/Opt/Simplify/Iteration.hs - compiler/GHC/Core/Opt/Simplify/Utils.hs - compiler/GHC/Core/Opt/SpecConstr.hs - compiler/GHC/Core/Opt/Specialise.hs - compiler/GHC/Core/Opt/WorkWrap.hs - compiler/GHC/Core/Opt/WorkWrap/Utils.hs - compiler/GHC/Core/Rules.hs - compiler/GHC/Core/Tidy.hs - compiler/GHC/Core/Unfold.hs - compiler/GHC/Core/Unfold/Make.hs - compiler/GHC/Core/Utils.hs - compiler/GHC/CoreToStg/Prep.hs - compiler/GHC/Driver/CodeOutput.hs - compiler/GHC/Driver/Config/CmmToAsm.hs - compiler/GHC/Driver/DynFlags.hs - compiler/GHC/Driver/MakeFile.hs - compiler/GHC/Driver/Pipeline/Execute.hs - compiler/GHC/Driver/Session.hs - compiler/GHC/Hs/Expr.hs - compiler/GHC/Hs/Instances.hs - compiler/GHC/HsToCore/Expr.hs - compiler/GHC/HsToCore/Match.hs - compiler/GHC/HsToCore/Pmc.hs - compiler/GHC/HsToCore/Quote.hs - compiler/GHC/HsToCore/Ticks.hs - compiler/GHC/Iface/Ext/Ast.hs - compiler/GHC/Linker/Loader.hs - compiler/GHC/Linker/Unit.hs - compiler/GHC/Rename/Expr.hs - compiler/GHC/Rename/Utils.hs - compiler/GHC/Runtime/Interpreter/Init.hs - compiler/GHC/Settings/IO.hs - compiler/GHC/Stg/EnforceEpt.hs - compiler/GHC/Stg/Lint.hs - compiler/GHC/StgToCmm/Closure.hs - compiler/GHC/StgToCmm/Expr.hs - compiler/GHC/SysTools/Terminal.hs - compiler/GHC/Tc/Errors.hs - compiler/GHC/Tc/Errors/Ppr.hs - compiler/GHC/Tc/Gen/App.hs - + compiler/GHC/Tc/Gen/App.hs-boot - compiler/GHC/Tc/Gen/Do.hs - compiler/GHC/Tc/Gen/Expr.hs - compiler/GHC/Tc/Gen/Expr.hs-boot - compiler/GHC/Tc/Gen/Head.hs - compiler/GHC/Tc/Gen/Match.hs - compiler/GHC/Tc/Gen/Pat.hs - compiler/GHC/Tc/Instance/Class.hs - compiler/GHC/Tc/Instance/Family.hs - compiler/GHC/Tc/Solver/Equality.hs - compiler/GHC/Tc/Solver/Monad.hs - compiler/GHC/Tc/Types/ErrCtxt.hs - compiler/GHC/Tc/Types/LclEnv.hs - compiler/GHC/Tc/Types/Origin.hs - compiler/GHC/Tc/Utils/Monad.hs - compiler/GHC/Tc/Utils/Unify.hs - compiler/GHC/Types/Id.hs - compiler/GHC/Types/Id/Info.hs - compiler/GHC/Types/Id/Make.hs - compiler/GHC/Unit/State.hs - config.guess - config.sub - configure.ac - docs/users_guide/9.16.1-notes.rst - docs/users_guide/ghci.rst - docs/users_guide/packages.rst - docs/users_guide/phases.rst - docs/users_guide/runtime_control.rst - docs/users_guide/using-concurrent.rst - docs/users_guide/using.rst - docs/users_guide/win32-dlls.rst - driver/ghci/ghci.c - driver/utils/cwrapper.c - driver/utils/isMinTTY.c - hadrian/bindist/cwrappers/cwrapper.c - hadrian/doc/flavours.md - hadrian/doc/user-settings.md - hadrian/hadrian.cabal - hadrian/src/Builder.hs - hadrian/src/Packages.hs - hadrian/src/Rules.hs - hadrian/src/Rules/BinaryDist.hs - hadrian/src/Rules/CabalReinstall.hs - hadrian/src/Rules/Documentation.hs - hadrian/src/Rules/Generate.hs - − hadrian/src/Rules/Libffi.hs - hadrian/src/Rules/Program.hs - hadrian/src/Rules/Register.hs - hadrian/src/Rules/Rts.hs - hadrian/src/Rules/SourceDist.hs - hadrian/src/Rules/Test.hs - hadrian/src/Settings/Builders/Cabal.hs - hadrian/src/Settings/Builders/Ghc.hs - hadrian/src/Settings/Builders/SplitSections.hs - hadrian/src/Settings/Default.hs - hadrian/src/Settings/Flavours/Benchmark.hs - hadrian/src/Settings/Flavours/Development.hs - hadrian/src/Settings/Flavours/GhcInGhci.hs - hadrian/src/Settings/Flavours/Performance.hs - hadrian/src/Settings/Flavours/Quick.hs - hadrian/src/Settings/Flavours/QuickCross.hs - hadrian/src/Settings/Flavours/Quickest.hs - hadrian/src/Settings/Flavours/Validate.hs - hadrian/src/Settings/Packages.hs - hadrian/src/Settings/Program.hs - − libffi-tarballs - libraries/base/base.cabal.in - libraries/base/changelog.md - − libraries/base/src/GHC/JS/Prim/Internal/Build.hs - libraries/base/tests/IO/T12010/cbits/initWinSock.c - libraries/ghc-internal/cbits/consUtils.c - libraries/ghc-internal/configure.ac - libraries/ghc-internal/src/GHC/Internal/CString.hs - libraries/ghc-internal/src/GHC/Internal/ConsoleHandler.hsc - libraries/ghc-internal/src/GHC/Internal/IO/Handle.hs - libraries/haskeline - + libraries/libffi-clib - libraries/mtl - m4/ghc_select_file_extensions.m4 - packages - rts/RtsFlags.c - rts/include/rts/ghc_ffi.h - rts/rts.buildinfo.in - rts/rts.cabal - − rts/win32/libHSffi.def - − rts/win32/libHSghc-internal.def - − rts/win32/libHSghc-prim.def - testsuite/driver/perf_notes.py - testsuite/driver/runtests.py - testsuite/driver/testglobals.py - testsuite/driver/testlib.py - testsuite/mk/test.mk - testsuite/tests/deriving/should_fail/T8984.stderr - testsuite/tests/deriving/should_fail/deriving-via-fail.stderr - testsuite/tests/deriving/should_fail/deriving-via-fail4.stderr - testsuite/tests/deriving/should_fail/deriving-via-fail5.stderr - − testsuite/tests/driver/T24731.hs - testsuite/tests/driver/all.T - testsuite/tests/indexed-types/should_fail/T2693.stderr - testsuite/tests/indexed-types/should_fail/T5439.stderr - testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs - testsuite/tests/overloadedrecflds/should_fail/T26480b.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail10.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail11.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail8.stderr - testsuite/tests/perf/should_run/all.T - testsuite/tests/plugins/test-defaulting-plugin.stderr - testsuite/tests/printer/T17697.stderr - testsuite/tests/rebindable/rebindable6.stderr - testsuite/tests/rep-poly/RepPolyDoBind.stderr - testsuite/tests/rep-poly/RepPolyDoBody1.stderr - testsuite/tests/rep-poly/RepPolyDoBody2.stderr - testsuite/tests/rep-poly/RepPolyRecordUpdate.stderr - testsuite/tests/rts/linker/rdynamic.hs - testsuite/tests/simplCore/should_compile/T14003.stderr - testsuite/tests/simplCore/should_compile/T18013.stderr - testsuite/tests/simplCore/should_compile/T19672.stderr - testsuite/tests/simplCore/should_compile/T21763.stderr - testsuite/tests/simplCore/should_compile/T21763a.stderr - + testsuite/tests/simplCore/should_compile/T26615.hs - + testsuite/tests/simplCore/should_compile/T26615.stderr - + testsuite/tests/simplCore/should_compile/T26615a.hs - + testsuite/tests/simplCore/should_compile/T26722.hs - + testsuite/tests/simplCore/should_compile/T26722.stderr - testsuite/tests/simplCore/should_compile/T4908.stderr - testsuite/tests/simplCore/should_compile/all.T - testsuite/tests/simplCore/should_compile/spec-inline.stderr - + testsuite/tests/typecheck/should_compile/ExpansionQLIm.hs - testsuite/tests/typecheck/should_compile/T14590.stderr - + testsuite/tests/typecheck/should_compile/T26746.hs - testsuite/tests/typecheck/should_compile/all.T - testsuite/tests/typecheck/should_compile/valid_hole_fits.stderr - testsuite/tests/typecheck/should_fail/DoExpansion1.stderr - testsuite/tests/typecheck/should_fail/DoExpansion2.stderr - testsuite/tests/typecheck/should_fail/T10971d.stderr - testsuite/tests/typecheck/should_fail/T13311.stderr - testsuite/tests/typecheck/should_fail/T15801.stderr - testsuite/tests/typecheck/should_fail/T22924b.stderr - testsuite/tests/typecheck/should_fail/T3323.stderr - testsuite/tests/typecheck/should_fail/T3613.stderr - testsuite/tests/typecheck/should_fail/T6069.stderr - testsuite/tests/typecheck/should_fail/T7851.stderr - testsuite/tests/typecheck/should_fail/T7857.stderr - testsuite/tests/typecheck/should_fail/T8603.stderr - testsuite/tests/typecheck/should_fail/T9612.stderr - testsuite/tests/typecheck/should_fail/TcCoercibleFail.hs - testsuite/tests/typecheck/should_fail/TcCoercibleFail.stderr - testsuite/tests/typecheck/should_fail/all.T - testsuite/tests/typecheck/should_fail/tcfail102.stderr - testsuite/tests/typecheck/should_fail/tcfail128.stderr - testsuite/tests/typecheck/should_fail/tcfail140.stderr - testsuite/tests/typecheck/should_fail/tcfail181.stderr - utils/ghc-pkg/Main.hs - − utils/iserv/iserv.cabal.in - − utils/iserv/src/Main.hs The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/05158af44f23fcc04b43a607533b299... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/05158af44f23fcc04b43a607533b299... You're receiving this email because of your account on gitlab.haskell.org.