Simon Peyton Jones pushed to branch wip/T23162-spj at Glasgow Haskell Compiler / GHC Commits: 8f3d80ff by Luite Stegeman at 2025-09-13T08:43:09+02:00 Use mkVirtHeapOffsets for reconstructing terms in RTTI This makes mkVirtHeapOffsets the single source of truth for finding field offsets in closures. - - - - - eb389338 by Luite Stegeman at 2025-09-13T08:43:09+02:00 Sort non-pointer fields by size for more efficient packing This sorts non-pointer fields in mkVirtHeapOffsets, always storing the largest field first. The relative order of equally sized fields remains unchanged. This reduces wasted padding/alignment space in closures with differently sized fields. - - - - - 99b233f4 by Alison at 2025-09-13T16:51:04-04:00 ghc-heap: Fix race condition with profiling builds Apply the same fix from Closures.hs (64fd0fac83) to Heap.hs by adding empty imports to make way-dependent dependencies visible to `ghc -M`. Fixes #15197, #26407 - - - - - 77deaa7a by Cheng Shao at 2025-09-14T21:29:45-04:00 hadrian: build in-tree gmp with -fvisibility=hidden When hadrian builds in-tree gmp, it should build the shared objects with -fvisibility=hidden. The gmp symbols are only used by bignum logic in ghc-internal and shouldn't be exported by the ghc-internal shared library. We should always strive to keep shared library symbol table lean, which benefits platforms with slow dynamic linker or even hard limits about how many symbols can be exported (e.g. macos dyld, win32 dll and wasm dyld). - - - - - 42a18960 by Cheng Shao at 2025-09-14T21:30:26-04:00 Revert "wasm: add brotli compression for ghci browser mode" This reverts commit 731217ce68a1093b5f9e26a07d5bd2cdade2b352. Benchmarks show non-negligible overhead when browser runs on the same host, which is the majority of actual use cases. - - - - - e6755b9f by Cheng Shao at 2025-09-14T21:30:26-04:00 wasm: remove etag logic in ghci browser mode web server This commit removes the etag logic in dyld script's ghci browser mode web server. It was meant to support caching logic of wasm shared libraries, but even if the port is manually specified to make caching even relevant, for localhost the extra overhead around etag logic is simply not worth it according to benchmarks. - - - - - ac5859b9 by sheaf at 2025-09-16T14:58:38-04:00 Add 'Outputable Natural' instance This commit adds an Outputable instance for the Natural natural-number type, as well as a "natural :: Natural -> SDoc" function that mirrors the existing "integer" function. - - - - - d48ebc23 by Cheng Shao at 2025-09-16T14:59:18-04:00 autoconf: emit warning instead of error for FIND_PYTHON logic This patch makes FIND_PYTHON logic emit warning instead of error, so when the user doesn't expect to run the testsuite driver (especially when installing a bindist), python would not be mandatory. Fixes #26347. - - - - - 54b5950e by Sylvain Henry at 2025-09-17T04:45:18-04:00 Print fully qualified unit names in name mismatch It's more user-friendly to directly print the right thing instead of requiring the user to retry with the additional `-dppr-debug` flag. - - - - - 403cb665 by Ben Gamari at 2025-09-17T04:46:00-04:00 configure: Fix consistency between distrib and source CC check Previously distrib/configure.ac did not include `cc`. Closes #26394. - - - - - 2dcd4cb9 by Oleg Grenrus at 2025-09-17T04:46:41-04:00 Use isPrint in showUnique The comment say ``` -- Avoid emitting non-printable characters in pretty uniques. See #25989. ``` so let the code do exactly that. There are tags (at least : and 0 .. 9) which weren't in A .. z range. - - - - - e5dd754b by Oleg Grenrus at 2025-09-17T04:46:42-04:00 Shorten in-module links in hyperlinked source Instead of href="This.Module#ident" to just "#ident" - - - - - 63189b2c by Oleg Grenrus at 2025-09-17T04:46:42-04:00 Use showUnique in internalAnchorIdent Showing the key of Unique as a number is generally not a great idea. GHC Unique has a tag in high bits, so the raw number is unnecessarily big. So now we have ```html <a href="#l-rvgK"><span class="hs-identifier hs-var hs-var">bar</span></a> ``` instead of ```html <a href="#local-6989586621679015689"><span class="hs-identifier hs-var hs-var">bar</span></a> ``` Together with previous changes of shorter intra-module links the effect on compressed files is not huge, that is expected as we simply remove repetitive contents which pack well. ``` 12_694_206 Agda-2.9.0-docs-orig.tar.gz 12_566_065 Agda-2.9.0-docs.tar.gz ``` However when unpacked, the difference can be significant, e.g. Agda's largest module source got 5% reduction: ``` 14_230_117 Agda.Syntax.Parser.Parser.html 13_422_109 Agda.Syntax.Parser.Parser.html ``` The whole hyperlinked source code directory got similar reduction ``` 121M Agda-2.9.0-docs-orig/src 114M Agda-2.9.0-docs/src ``` For the reference, sources are about 2/3 of the generated haddocks ``` 178M Agda-2.9.0-docs-old 172M Agda-2.9.0-docs ``` so we get around 3.5% size reduction overall. Not bad for a small local changes. - - - - - 6f63f57b by Stefan Schulze Frielinghaus at 2025-09-17T04:47:22-04:00 rts: Fix alignment for gen_workspace #26334 After a0fa4941903272c48b050d24e93eec819eff51bd bootstrap is broken on s390x and errors out with rts/sm/GCThread.h:207:5: error: error: alignment of array elements is greater than element size 207 | gen_workspace gens[]; | ^~~~~~~~~~~~~ The alignment constraint is applied via the attribute to the type gen_workspace and leaves the underlying type struct gen_workspace_ untouched. On Aarch64, x86, and s390x the struct has a size of 128 bytes. On Aarch64 and x86 the alignments of 128 and 64 are divisors of the size, respectively, which is why the type is a viable member type for an array. However, on s390x, the alignment is 256 and therefore is not a divisor of the size and hence cannot be used for arrays. Basically I see two fixes here. Either decrease the alignment requirement on s390x, or by applying the alignment constraint on the struct itself. The former might affect performance as noted in a0fa4941903272c48b050d24e93eec819eff51bd. The latter introduces padding bits whenever necessary in order to ensure that sizeof(gen_workspace[N])==N*sizeof(gen_workspace) holds which is done by this patch. - - - - - 06d25623 by Cheng Shao at 2025-09-17T19:32:27-04:00 ghci: add :shell command This patch adds a new :shell command to ghci which works similarly to :!, except it guarantees to run the command via sh -c. On POSIX hosts the behavior is identical to :!, but on Windows it uses the msys2 shell instead of system cmd.exe shell. This is convenient when writing simple ghci scripts that run simple POSIX commands, and the behavior can be expected to be coherent on both Windows and POSIX. Co-authored-by: Codex <codex@openai.com> - - - - - 186054f7 by Cheng Shao at 2025-09-17T19:32:27-04:00 testsuite: remove legacy :shell trick This commit makes use of the built-in :shell functionality in ghci in the test cases, and remove the legacy :shell trick. - - - - - 0a3a4aa3 by Cheng Shao at 2025-09-17T19:32:27-04:00 docs: document :shell in ghci This commit documents the :shell command in ghci. Co-authored-by: Codex <codex@openai.com> - - - - - a4ff12bb by Cheng Shao at 2025-09-17T19:33:09-04:00 ghc-internal: fix codepages program codepages was not properly updated during the base -> ghc-internal migration, this commit fixes it. - - - - - 7e094def by Cheng Shao at 2025-09-17T19:33:09-04:00 ghc-internal: relax ucd2haskell cabal upper bounds This commit relaxes ucd2haskell cabal upper bounds to make it runnable via ghc 9.12/9.14. - - - - - 7077c9f7 by Cheng Shao at 2025-09-17T19:33:09-04:00 ghc-internal: update to unicode 17.0.0 This commit updates the generated code in ghc-internal to match unicode 17.0.0. - - - - - cef8938f by sheaf at 2025-09-17T19:34:09-04:00 Bad record update msg: allow out-of-scope datacons This commit ensures that, when we encounter an invalid record update (because no constructor exists which contains all of the record fields mentioned in the record update), we graciously handle the situation in which the constructors themselves are not in scope. In that case, instead of looking up the constructors in the GlobalRdrEnv, directly look up their GREInfo using the lookupGREInfo function. Fixes #26391 - - - - - a2d9d7c2 by sheaf at 2025-09-17T19:34:09-04:00 Improve Notes about disambiguating record updates This commit updates the notes [Disambiguating record updates] and [Type-directed record disambiguation], in particular adding more information about the deprecation status of type-directed disambiguation of record updates. - - - - - de44e69e by sheaf at 2025-09-19T05:16:51-04:00 Enable TcM plugins in initTc This commit ensures that we run typechecker plugins and defaulting plugins whenever we call initTc. In particular, this ensures that the pattern-match checker, which calls 'initTcDsForSolver' which calls 'initTc', runs with typechecker plugins enabled. This matters for situations like: merge :: Vec n a -> Vec n a -> Vec (2 * n) a merge Nil Nil = Nil merge (a <: as) (b <: bs) = a :< (b <: merge as bs) in which we need the typechecker plugin to run in order to tell us that the Givens would be inconsistent in the additional equation merge (_ <: _) Nil and thus that the equation is not needed. Fixes #26395 - - - - - 2c378ad2 by Cheng Shao at 2025-09-19T05:17:33-04:00 rel-eng: update fedora image to 42 This patch is a part of #25876 and updates fedora image to 42. - - - - - 0a9d9ffc by Sylvain Henry at 2025-09-19T13:12:14-04:00 Fix output of T14999 (#23685) Fix output of T14999 to: - take into account the +1 offset to DW_AT_low_pc (see Note [Info Offset]) - always use Intel's syntax to force consistency: it was reported that sometimes GDB prints `jmpq` instead of `jmp` with the AT&T syntax - - - - - 1480872a by Vladislav Zavialov at 2025-09-19T13:12:54-04:00 Fix PREP_MAYBE_LIBRARY in prep_target_file.m4 This change fixes a configure error introduced in: commit 8235dd8c4945db9cb03e3be3c388d729d576ed1e ghc-toolchain: Move UseLibdw to per-Target file Now the build no longer fails with: acghc-toolchain: Failed to read a valid Target value from hadrian/cfg/default.target - - - - - d1d9e39e by Ben Gamari at 2025-09-19T18:24:52-04:00 StgToByteCode: Don't assume that data con workers are nullary Previously StgToByteCode assumed that all data-con workers were of a nullary representation. This is not a valid assumption, as seen in #23210, where an unsaturated application of a unary data constructor's worker resulted in invalid bytecode. Sadly, I have not yet been able to reduce a minimal testcase for this. Fixes #23210. - - - - - 3eeecd50 by Ben Gamari at 2025-09-19T18:24:53-04:00 testsuite: Mark T23146* as unbroken - - - - - 2e73f342 by sheaf at 2025-09-19T18:24:53-04:00 Add test for #26216 - - - - - c2efb912 by Sven Tennie at 2025-09-19T18:25:36-04:00 Generate correct test header This increases convenience when copying & pasting... - - - - - d2fb811e by Sven Tennie at 2025-09-19T18:25:36-04:00 foundation test: Fix shift amount (#26248) Shift primops' results are only defined for shift amounts of 0 to word size - 1. The approach is similar to testing div-like operations (which have a constraint regarding zero operands.) This was partly vibe coded (https://github.com/supersven/ghc/pull/1) but then heavily refactored. - - - - - a62ce115 by Andreas Klebinger at 2025-09-19T18:26:18-04:00 Tweak jspace test I've given it a longer timeout, and tweaked the test file generation to speed it up a bit. Hopefully that is enough to make it constentily pass. Last but not least it now also always uses three threads. - - - - - 0f034942 by Cheng Shao at 2025-09-19T18:26:59-04:00 rts: remove obsolete CC_SUPPORTS_TLS logic This patch removes obsolete CC_SUPPORTS_TLS logic throughout the rts, given __thread is now uniformly supported by C toolchains of all platforms we currently support. - - - - - ef705655 by Cheng Shao at 2025-09-19T18:27:41-04:00 rts: remove obsolete HAS_VISIBILITY_HIDDEN logic This patch removes obsolete HAS_VISIBILITY_HIDDEN logic throughout the rts, given __attribute__((visibility("hidden"))) is uniformly supported by C toolchains of all platforms we currently support. - - - - - 9fdc1f7d by Cheng Shao at 2025-09-19T18:28:21-04:00 rts: remove -O3 pragma hack in Hash.c This patch removes an obsolete gcc pragma to specify -O3 in Hash.c. Hadrian already passes the right flag. - - - - - b8cfa8f7 by Cheng Shao at 2025-09-19T18:29:01-04:00 rts: remove obsolete COMPILING_WINDOWS_DLL logic This patch removes obsolete COMPILING_WINDOWS_DLL logic throughout the rts. They were once used for compiling to win32 DLLs, but we haven't been able to compile Haskell units to win32 DLLs for many years now, due to PE format's restriction of no more than 65536 exported symbols in a single DLL. - - - - - bb760611 by Cheng Shao at 2025-09-19T18:29:42-04:00 wasm: bump browser_wasi_shim to 0.4.2 This patch bumps the browser_wasi_shim dependency of wasm dyld script to 0.4.2. - - - - - 8b0940db by Cheng Shao at 2025-09-20T06:48:05-04:00 compiler: move Binary instance of Map to GHC.Utils.Binary This patch moves `Binary` instance of `Map` from `haddock-api` to `GHC.Utils.Binary`. This also allows us to remove a redundant instance defined for `NameEntityInfo`, which is a type synonym for `Map`. - - - - - 4a8fed75 by Vladislav Zavialov at 2025-09-20T06:48:47-04:00 Fix keyword in ExplicitNamespaces error message (#26418) Consider this module header and the resulting error: {-# LANGUAGE NoExplicitNamespaces #-} module T26418 (data HeadC) where -- error: [GHC-47007] -- Illegal keyword 'type' Previously, the error message would mention 'type' (as shown above), even though the user wrote 'data'. This has now been fixed. The error location has also been corrected: it is now reported at the keyword position rather than at the position of the associated import/export item. - - - - - 867c2675 by Cheng Shao at 2025-09-20T06:49:28-04:00 wasm: fix dyld handling for forward declared GOT.func items This patch fixes wasm shared linker's handling of forward declared GOT.func items, see linked issue for details. Also adds T26430 test to witness the fix. Fixes #26430. Co-authored-by: Codex <codex@openai.com> - - - - - e7df6cc0 by Simon Peyton Jones at 2025-09-23T14:34:39-04:00 Improve pretty printer for HsExpr Given a very deeply-nested application, it just kept printing deeper and deeper. This small change makes it cut off. Test is in #26330, but we also get a dramatic decrease in compile time for perf/compiler/InstanceMatching: InstanceMatching 4,086,884,584 1,181,767,232 -71.1% GOOD Why? Because before we got a GIGANTIC error message that took ages to pretty-print; now we get this much more civilised message (I have removed some whitespace.) Match.hs:1007:1: error: • No instance for ‘Show (F001 a)’ arising from a use of ‘showsPrec’ • In the second argument of ‘showString’, namely ‘(showsPrec 11 b1 (GHC.Internal.Show.showSpace (showsPrec 11 b2 (GHC.Internal.Show.showSpace (showsPrec 11 b3 (GHC.Internal.Show.showSpace (showsPrec 11 b4 (GHC.Internal.Show.showSpace (showsPrec 11 b5 (GHC.Internal.Show.showSpace (showsPrec 11 b6 (GHC.Internal.Show.showSpace (showsPrec ...)))))))))))))’ ----------------------- The main payload is * At the start of `pprExpr` * In the defn of `pprApp` A little bit of refactoring: * It turned out that we were setting the default cut-off depth to a fixed value in two places, so changing one didn't change the other. See defaultSDocDepth and defaultSDocCols * I refactored `pprDeeperList` a bit so I could understand it better. Because the depth calculation has changed, there are lots of small error message wibbles. Metric Decrease: InstanceMatching - - - - - 209f0158 by Simon Peyton Jones at 2025-09-23T14:34:39-04:00 Use Outputable.ellipsis rather than text "..." - - - - - 64bb0e37 by Sylvain Henry at 2025-09-23T14:35:56-04:00 deriveConstants: automatically pass -fcommon CC flag (#26393) By mistake we tried to use deriveConstants without passing `--gcc-flag -fcommon` (which Hadrian does) and it failed. This patch: 1. adds parsing support for constants stored in the .bss section (i.e. when -fcommon isn't passed) 2. enables passing `-fcommon` automatically to the C compiler because Windows requires this for subtle reasons 3. Documents the subtle reasons (1) isn't strictly necessary because we always do (2) but it does no harm and it is still useful if the CC flags ever contain -fno-common - - - - - afcdf92f by Oleg Grenrus at 2025-09-23T14:36:41-04:00 Don't wrap spaces in <span>s Doing similar comparison as in 63189b2ceca07edf4e179f4180ca60d470c62cb3 With this change the gzipped documentation is now 2% smaller (previously 1%) 12_694_206 Agda-2.9.0-docs-orig.tar.gz 12_436_829 Agda-2.9.0-docs.tar.gz Unzipped docs are 5% smaller (previously 3%) 178M Agda-2.9.0-docs-orig 169M Agda-2.9.0-docs Individual hyperlinked sources are around 7-10% smaller (previously 5%) (`Parser` module is generated by happy and has relatively little whitespace) 14_230_117 Agda.Syntax.Parser.Parser.html 13_220_758 Agda.Syntax.Parser.Parser.html Agda's hyperlinked sources are 9% smaller now: 121M Agda-2.9.0-docs-orig/src 110M Agda-2.9.0-docs/src - - - - - 67de53a6 by Cheng Shao at 2025-09-23T14:37:31-04:00 rts: remove obsolete __GNUC__ related logic This patch removes obsolete `__GNUC__` related logic, given on any currently supported platform and toolchain, `__GNUC__ >= 4` is universally true. Also pulls some other weeds and most notably, use `__builtin___clear_cache` for clang as well, since clang has supported this gcc intrinsic since 2014, see https://github.com/llvm/llvm-project/commit/c491a8d4577052bc6b3b4c72a7db6a7c.... - - - - - c4d32493 by Sven Tennie at 2025-09-23T20:40:57-04:00 RV64: Fix: Add missing truncation to MO_S_Shr (#26248) Sub-double word (<W64) registers need to be truncated after the operation. - - - - - 41dce477 by Sven Tennie at 2025-09-23T20:40:57-04:00 RV64: Cleanup shift emitting cases/code Remove overlapping cases to make the shift logic easier to understand. - - - - - 0a601c30 by Alex Washburn at 2025-09-23T20:41:41-04:00 Correcting LLVM linking of Intel BMI intrinsics pdep{8,16} and pext{8,16}. This patch fixes #26065. The LLVM interface does not expose bindings to: - llvm.x86.bmi.pdep.8 - llvm.x86.bmi.pdep.16 - llvm.x86.bmi.pext.8 - llvm.x86.bmi.pext.16 So calls are instead made to llvm.x86.bmi.{pdep,pext}.32 in these cases, with pre/post-operation truncation to constrain the logical value range. - - - - - 89e8ff3d by Peng Fan at 2025-09-23T20:42:37-04:00 NCG/LA64: Implement MO_BSwap and MO_BRev with bit-manipulation Instructions - - - - - 50f6be09 by Sylvain Henry at 2025-09-23T20:43:29-04:00 Allow Core plugins to access unoptimized Core (#23337) Make the first simple optimization pass after desugaring a real CoreToDo pass. This allows CorePlugins to decide whether they want to be executed before or after this pass. - - - - - 30ef0aac by Simon Hengel at 2025-09-23T20:44:12-04:00 docs: Fix typo in scoped_type_variables.rst - - - - - f8919262 by Cheng Shao at 2025-09-23T20:44:54-04:00 ghci: fix bootstrapping with 9.12.3-rc1 and above This patch fixes bootstrapping GHC with 9.12.3-rc1 and above. ghci defines `Binary` instance for `HalfWord` in `ghc-heap`, which is a proper `newtype` in 9.14 and starting from 9.12.3. Given we don't build `ghc-heap` in stage0, we need to fix this predicate so that it corresponds to the boot ghc versions that contain the right version of `ghc-heap`. - - - - - a7f15858 by sheaf at 2025-09-24T09:49:53-04:00 User's guide: clarify optimisation of INLINABLE unfoldings This updates the user's guide section on INLINABLE pragmas to explain how the unfoldings of inlineable functions are optimised. The user's guide incorrectly stated that the RHS was not optimised at all, but this is not true. Instead, GHC is careful about phase control to optmise the RHS while retaining the guarantee that GHC behaves as if the original RHS had been written. - - - - - 495886d9 by Rodrigo Mesquita at 2025-09-24T09:50:35-04:00 cleanup: Delete historical artifact of COMPILING_WINDOWS_DLL Namely, drop the obsolete - DLL_IMPORT_RTS - DLL_IMPORT_DATA_VAR - DLL_IMPORT_DATA_VARNAME - DLL_IMPORT_DATA_REF These macros were not doing anything and placed inconsistently Looking at the git logs reveal these macros were used to support dynamic libraries on Win32, a feature that was dropped in b8cfa8f741729ef123569fb321c4b2ab4a1a941c This allows us to get rid of the rts/DLL.h file too. - - - - - c6c29361 by Richard Eisenberg at 2025-09-24T18:08:53+01:00 Move some fundep solving to new spot Work in progress...[skip ci] This completes moving dict fundeps to the main loop We need wanted/wanted fundeps too ...and some other refactors Wibbles Make FunDeps into a new module Solve new_eqs rather than adding them to WantedConstraints Wibble Import wibbles Comments only [skip ci] WIP on FunDeps [skip ci] Work in progress [skip ci] More WIP Wibbles to fundeps [skip ci] Kill off kickOutAfterUnification More wibbles Need to remove the unification-count stuff entirely and do more tidying up -- this commit is mainly for CI Wibbles solver Iterate the simples more often than plugins Start to extend to equalities Whitespace only Small improvements Wibbles - - - - - 59ab6a43 by Simon Peyton Jones at 2025-09-24T18:09:54+01:00 Improved error messages from fundep changes - - - - - cbdfa6a0 by Simon Peyton Jones at 2025-09-24T18:09:57+01:00 Wibbles - - - - - b7e357c9 by Simon Peyton Jones at 2025-09-24T18:09:57+01:00 Fix typo - - - - - 196fdf50 by Simon Peyton Jones at 2025-09-24T18:10:18+01:00 Wibbles - - - - - 5f39e077 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Nuke FunDepOrigin1 and 2 - - - - - e8f50546 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Wibble - - - - - 119b483a by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 More refactoring - - - - - 5b5d48a4 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 More tidying up - - - - - 18f61f7c by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Yet more - - - - - 101960c2 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Wibbles - - - - - 15f52839 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Wibbles [skip ci] - - - - - 8e2972c0 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Naming and comments only [skip ci] - - - - - 01a4c8d4 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Progress [skip ci]x - - - - - 8b719207 by Simon Peyton Jones at 2025-09-24T18:10:21+01:00 Make it compile .. with now story on WhatUnifications - - - - - 288 changed files: - .gitlab-ci.yml - .gitlab/generate-ci/gen_ci.hs - .gitlab/jobs.yaml - .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py - .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py - compiler/GHC/Builtin/primops.txt.pp - compiler/GHC/CmmToAsm/LA64/CodeGen.hs - compiler/GHC/CmmToAsm/LA64/Instr.hs - compiler/GHC/CmmToAsm/LA64/Ppr.hs - compiler/GHC/CmmToAsm/RV64/CodeGen.hs - compiler/GHC/CmmToLlvm/CodeGen.hs - compiler/GHC/Core/Opt/Pipeline.hs - compiler/GHC/Core/Opt/Pipeline/Types.hs - compiler/GHC/Core/Opt/Simplify/Env.hs - compiler/GHC/Core/Ppr.hs - compiler/GHC/Core/TyCon.hs - compiler/GHC/Driver/DynFlags.hs - compiler/GHC/Hs/Expr.hs - compiler/GHC/HsToCore.hs - compiler/GHC/HsToCore/Errors/Ppr.hs - compiler/GHC/HsToCore/Monad.hs - compiler/GHC/HsToCore/Pmc/Ppr.hs - compiler/GHC/HsToCore/Pmc/Types.hs - compiler/GHC/Iface/Errors/Ppr.hs - compiler/GHC/Iface/Ext/Types.hs - compiler/GHC/Iface/Syntax.hs - compiler/GHC/Llvm/Ppr.hs - compiler/GHC/Llvm/Types.hs - compiler/GHC/Parser.y - compiler/GHC/Parser/Errors/Ppr.hs - compiler/GHC/Parser/Errors/Types.hs - compiler/GHC/Parser/PostProcess.hs - compiler/GHC/Parser/Types.hs - compiler/GHC/Rename/Env.hs - compiler/GHC/Rename/Pat.hs - compiler/GHC/Runtime/Heap/Inspect.hs - compiler/GHC/Runtime/Loader.hs - compiler/GHC/StgToByteCode.hs - compiler/GHC/StgToCmm/Layout.hs - compiler/GHC/Tc/Errors.hs - compiler/GHC/Tc/Errors/Ppr.hs - compiler/GHC/Tc/Errors/Types.hs - compiler/GHC/Tc/Gen/Expr.hs - compiler/GHC/Tc/Instance/FunDeps.hs - compiler/GHC/Tc/Module.hs - compiler/GHC/Tc/Solver/Default.hs - compiler/GHC/Tc/Solver/Dict.hs - compiler/GHC/Tc/Solver/Equality.hs - + compiler/GHC/Tc/Solver/FunDeps.hs - compiler/GHC/Tc/Solver/InertSet.hs - compiler/GHC/Tc/Solver/Monad.hs - compiler/GHC/Tc/Solver/Solve.hs - compiler/GHC/Tc/Types/Constraint.hs - compiler/GHC/Tc/Types/Origin.hs - compiler/GHC/Tc/Utils/Monad.hs - compiler/GHC/Tc/Utils/TcType.hs - compiler/GHC/Tc/Utils/Unify.hs - compiler/GHC/Tc/Zonk/TcType.hs - compiler/GHC/Types/Basic.hs - compiler/GHC/Types/Hint/Ppr.hs - compiler/GHC/Types/Unique.hs - compiler/GHC/Unit/State.hs - compiler/GHC/Utils/Binary.hs - compiler/GHC/Utils/Outputable.hs - compiler/GHC/Utils/Ppr.hs - compiler/ghc.cabal.in - configure.ac - distrib/configure.ac.in - docs/users_guide/9.16.1-notes.rst - docs/users_guide/exts/pragmas.rst - docs/users_guide/exts/scoped_type_variables.rst - docs/users_guide/ghci.rst - ghc/GHCi/UI.hs - hadrian/src/Rules/Gmp.hs - hadrian/src/Settings/Builders/DeriveConstants.hs - libraries/base/tests/unicode002.stdout - libraries/base/tests/unicode003.stdout - libraries/ghc-heap/GHC/Exts/Heap.hs - libraries/ghc-internal/cbits/atomic.c - libraries/ghc-internal/cbits/ctz.c - libraries/ghc-internal/codepages/MakeTable.hs - libraries/ghc-internal/codepages/Makefile - libraries/ghc-internal/src/GHC/Internal/Unicode/Char/DerivedCoreProperties.hs - libraries/ghc-internal/src/GHC/Internal/Unicode/Char/UnicodeData/GeneralCategory.hs - libraries/ghc-internal/src/GHC/Internal/Unicode/Char/UnicodeData/SimpleLowerCaseMapping.hs - libraries/ghc-internal/src/GHC/Internal/Unicode/Char/UnicodeData/SimpleTitleCaseMapping.hs - libraries/ghc-internal/src/GHC/Internal/Unicode/Char/UnicodeData/SimpleUpperCaseMapping.hs - libraries/ghc-internal/src/GHC/Internal/Unicode/Version.hs - libraries/ghc-internal/tools/ucd2haskell/ucd.sh - libraries/ghc-internal/tools/ucd2haskell/ucd2haskell.cabal - libraries/ghc-internal/tools/ucd2haskell/unicode_version - libraries/ghci/GHCi/Message.hs - m4/find_python.m4 - − m4/fp_visibility_hidden.m4 - m4/prep_target_file.m4 - rts/BeginPrivate.h - rts/CloneStack.h - rts/EndPrivate.h - rts/Hash.c - rts/Interpreter.c - rts/Prelude.h - − rts/RtsDllMain.c - − rts/RtsDllMain.h - rts/RtsStartup.c - rts/RtsSymbols.c - rts/StgMiscClosures.cmm - rts/Task.c - rts/Task.h - rts/configure.ac - rts/include/Rts.h - rts/include/RtsAPI.h - rts/include/Stg.h - rts/include/rts/Flags.h - rts/include/rts/NonMoving.h - rts/include/rts/OSThreads.h - rts/include/rts/StableName.h - rts/include/rts/StablePtr.h - rts/include/rts/Types.h - − rts/include/stg/DLL.h - rts/include/stg/MiscClosures.h - rts/posix/OSThreads.c - rts/rts.cabal - rts/sm/BlockAlloc.c - rts/sm/Evac.c - rts/sm/Evac.h - rts/sm/GCTDecl.h - rts/sm/GCThread.h - rts/sm/Storage.c - rts/win32/OSThreads.c - testsuite/tests/arrows/gadt/T17423.stderr - + testsuite/tests/bytecode/T26216.hs - + testsuite/tests/bytecode/T26216.script - + testsuite/tests/bytecode/T26216.stdout - + testsuite/tests/bytecode/T26216_aux.hs - testsuite/tests/bytecode/all.T - testsuite/tests/codeGen/should_compile/Makefile - testsuite/tests/codeGen/should_compile/T14999.stdout - testsuite/tests/codeGen/should_run/T13825-unit.hs - testsuite/tests/codeGen/should_run/T23146/all.T - testsuite/tests/dependent/should_fail/T13135_simple.stderr - testsuite/tests/deriving/should_fail/T3621.stderr - testsuite/tests/driver/j-space/Makefile - testsuite/tests/driver/j-space/all.T - testsuite/tests/driver/j-space/genJspace - testsuite/tests/driver/multipleHomeUnits/all.T - + testsuite/tests/ghci-wasm/Makefile - + testsuite/tests/ghci-wasm/T26430.hs - + testsuite/tests/ghci-wasm/T26430A.c - + testsuite/tests/ghci-wasm/T26430B.c - + testsuite/tests/ghci-wasm/all.T - testsuite/tests/ghci.debugger/scripts/break022/all.T - testsuite/tests/ghci.debugger/scripts/break022/break022.script - testsuite/tests/ghci.debugger/scripts/break023/all.T - testsuite/tests/ghci.debugger/scripts/break023/break023.script - testsuite/tests/ghci/prog001/prog001.T - testsuite/tests/ghci/prog001/prog001.script - testsuite/tests/ghci/prog002/prog002.T - testsuite/tests/ghci/prog002/prog002.script - testsuite/tests/ghci/prog003/prog003.T - testsuite/tests/ghci/prog003/prog003.script - testsuite/tests/ghci/prog005/prog005.T - testsuite/tests/ghci/prog005/prog005.script - testsuite/tests/ghci/prog010/all.T - testsuite/tests/ghci/prog010/ghci.prog010.script - testsuite/tests/ghci/prog012/all.T - testsuite/tests/ghci/prog012/prog012.script - testsuite/tests/ghci/recompTHghci/all.T - testsuite/tests/ghci/recompTHghci/recompTHghci.script - testsuite/tests/ghci/scripts/T18330.script - testsuite/tests/ghci/scripts/T18330.stdout - testsuite/tests/ghci/scripts/T1914.script - testsuite/tests/ghci/scripts/T20587.script - testsuite/tests/ghci/scripts/T6106.script - testsuite/tests/ghci/scripts/T8353.script - testsuite/tests/ghci/scripts/all.T - testsuite/tests/ghci/scripts/ghci038.script - testsuite/tests/ghci/scripts/ghci058.script - testsuite/tests/ghci/scripts/ghci063.script - − testsuite/tests/ghci/shell.hs - testsuite/tests/indexed-types/should_compile/PushedInAsGivens.stderr - testsuite/tests/indexed-types/should_fail/T14369.stderr - testsuite/tests/indexed-types/should_fail/T26176.stderr - testsuite/tests/indexed-types/should_fail/T2693.stderr - testsuite/tests/indexed-types/should_fail/T4093b.stderr - testsuite/tests/indexed-types/should_fail/T8518.stderr - testsuite/tests/indexed-types/should_fail/T9662.stderr - testsuite/tests/linear/should_fail/Linear17.stderr - testsuite/tests/linear/should_fail/LinearLet7.stderr - + testsuite/tests/llvm/should_run/T26065.hs - + testsuite/tests/llvm/should_run/T26065.stdout - testsuite/tests/llvm/should_run/all.T - testsuite/tests/numeric/should_run/foundation.hs - + testsuite/tests/overloadedrecflds/should_fail/T26391.hs - + testsuite/tests/overloadedrecflds/should_fail/T26391.stderr - testsuite/tests/overloadedrecflds/should_fail/all.T - testsuite/tests/parser/should_fail/RecordDotSyntaxFail10.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail11.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail13.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail8.stderr - testsuite/tests/parser/should_fail/T16270h.stderr - testsuite/tests/parser/should_fail/T20654a.stderr - + testsuite/tests/parser/should_fail/T26418.hs - + testsuite/tests/parser/should_fail/T26418.stderr - testsuite/tests/parser/should_fail/all.T - testsuite/tests/partial-sigs/should_compile/T21719.stderr - testsuite/tests/partial-sigs/should_fail/T14040a.stderr - testsuite/tests/perf/compiler/MultiLayerModulesDefsGhci.script - testsuite/tests/perf/compiler/all.T - testsuite/tests/plugins/annotation-plugin/SayAnnNames.hs - testsuite/tests/plugins/late-plugin/LatePlugin.hs - testsuite/tests/plugins/simple-plugin/Simple/ReplacePlugin.hs - testsuite/tests/polykinds/T13393.stderr - testsuite/tests/polykinds/T6068.stdout - testsuite/tests/rep-poly/T12709.stderr - testsuite/tests/simplCore/should_compile/simpl017.stderr - + testsuite/tests/tcplugins/T26395.hs - + testsuite/tests/tcplugins/T26395.stderr - + testsuite/tests/tcplugins/T26395_Plugin.hs - testsuite/tests/tcplugins/all.T - testsuite/tests/th/T10945.stderr - testsuite/tests/th/TH_StaticPointers02.stderr - testsuite/tests/typecheck/no_skolem_info/T14040.stderr - testsuite/tests/typecheck/should_compile/T11339.stderr - testsuite/tests/typecheck/should_compile/T13651.hs - + testsuite/tests/typecheck/should_compile/T14745.hs - testsuite/tests/typecheck/should_compile/all.T - testsuite/tests/typecheck/should_compile/tc126.hs - testsuite/tests/typecheck/should_fail/AmbigFDs.hs - − testsuite/tests/typecheck/should_fail/AmbigFDs.stderr - testsuite/tests/typecheck/should_fail/DoExpansion3.stderr - testsuite/tests/typecheck/should_fail/FD3.stderr - testsuite/tests/typecheck/should_fail/FDsFromGivens2.stderr - testsuite/tests/typecheck/should_fail/T12177.stderr - testsuite/tests/typecheck/should_fail/T13506.stderr - testsuite/tests/typecheck/should_fail/T16512a.stderr - testsuite/tests/typecheck/should_fail/T18851b.hs - − testsuite/tests/typecheck/should_fail/T18851b.stderr - testsuite/tests/typecheck/should_fail/T18851c.hs - − testsuite/tests/typecheck/should_fail/T18851c.stderr - testsuite/tests/typecheck/should_fail/T19415.stderr - testsuite/tests/typecheck/should_fail/T19415b.stderr - testsuite/tests/typecheck/should_fail/T22707.stderr - testsuite/tests/typecheck/should_fail/T24064.stderr - testsuite/tests/typecheck/should_fail/T25325.stderr - + testsuite/tests/typecheck/should_fail/T26330.hs - + testsuite/tests/typecheck/should_fail/T26330.stderr - testsuite/tests/typecheck/should_fail/T5246.stderr - testsuite/tests/typecheck/should_fail/T5978.stderr - testsuite/tests/typecheck/should_fail/T8142.stderr - testsuite/tests/typecheck/should_fail/T8603.stderr - testsuite/tests/typecheck/should_fail/T9612.stderr - testsuite/tests/typecheck/should_fail/all.T - testsuite/tests/typecheck/should_fail/tcfail128.stderr - testsuite/tests/typecheck/should_fail/tcfail143.stderr - testsuite/tests/typecheck/should_fail/tcfail153.stderr - testsuite/tests/typecheck/should_fail/tcfail168.stderr - testsuite/tests/typecheck/should_fail/tcfail177.stderr - testsuite/tests/typecheck/should_fail/tcfail185.stderr - testsuite/tests/typecheck/should_run/Typeable1.stderr - testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout - testsuite/tests/unboxedsums/UbxSumUnpackedSize.stdout-ws-32 - utils/deriveConstants/Main.hs - utils/genprimopcode/Main.hs - utils/genprimopcode/Syntax.hs - utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cc.hs - utils/ghc-toolchain/src/GHC/Toolchain/Tools/Cxx.hs - utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker.hs - utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs - utils/haddock/haddock-api/src/Haddock/Backends/Hyperlinker/Utils.hs - utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs - utils/haddock/hypsrc-test/Main.hs - utils/haddock/hypsrc-test/ref/src/Bug1091.html - utils/haddock/hypsrc-test/ref/src/CPP.html - utils/haddock/hypsrc-test/ref/src/Classes.html - utils/haddock/hypsrc-test/ref/src/Constructors.html - utils/haddock/hypsrc-test/ref/src/Identifiers.html - utils/haddock/hypsrc-test/ref/src/LinkingIdentifiers.html - utils/haddock/hypsrc-test/ref/src/Literals.html - utils/haddock/hypsrc-test/ref/src/Operators.html - utils/haddock/hypsrc-test/ref/src/Polymorphism.html - utils/haddock/hypsrc-test/ref/src/PositionPragmas.html - utils/haddock/hypsrc-test/ref/src/Quasiquoter.html - utils/haddock/hypsrc-test/ref/src/Records.html - utils/haddock/hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html - utils/haddock/hypsrc-test/ref/src/TemplateHaskellSplices.html - utils/haddock/hypsrc-test/ref/src/Types.html - utils/haddock/hypsrc-test/ref/src/UsingQuasiquotes.html - utils/jsffi/dyld.mjs The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7121fd7575551a1cc0e5157bd91fda8... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7121fd7575551a1cc0e5157bd91fda8... You're receiving this email because of your account on gitlab.haskell.org.