[Git][ghc/ghc][wip/T22423] 31 commits: Document NcgImpl methods
Simon Peyton Jones pushed to branch wip/T22423 at Glasgow Haskell Compiler / GHC Commits: b2682534 by Rodrigo Mesquita at 2024-05-10T01:47:51-04:00 Document NcgImpl methods Fixes #19914 - - - - - 4d3acbcf by Zejun Wu at 2024-05-10T01:48:28-04:00 Make renamer to be more flexible with parens in the LHS of the rules We used to reject LHS like `(f a) b` in RULES and requires it to be written as `f a b`. It will be handy to allow both as the expression may be more readable with extra parens in some cases when infix operator is involved. Espceially when TemplateHaskell is used, extra parens may be added out of user's control and result in "valid" rules being rejected and there are not always ways to workaround it. Fixes #24621 - - - - - ab840ce6 by Ben Gamari at 2024-05-10T01:49:04-04:00 IPE: Eliminate dependency on Read Instead of encoding the closure type as decimal string we now simply represent it as an integer, eliminating the need for `Read` in `GHC.Internal.InfoProv.Types.peekInfoProv`. Closes #24504. ------------------------- Metric Decrease: T24602_perf_size size_hello_artifact ------------------------- - - - - - a9979f55 by Cheng Shao at 2024-05-10T01:49:43-04:00 testsuite: fix testwsdeque with recent clang This patch fixes compilation of testwsdeque.c with recent versions of clang, which will fail with the error below: ``` testwsdeque.c:95:33: error: warning: format specifies type 'long' but the argument has type 'void *' [-Wformat] 95 | barf("FAIL: %ld %d %d", p, n, val); | ~~~ ^ testwsdeque.c:95:39: error: warning: format specifies type 'int' but the argument has type 'StgWord' (aka 'unsigned long') [-Wformat] 95 | barf("FAIL: %ld %d %d", p, n, val); | ~~ ^~~ | %lu testwsdeque.c:133:42: error: error: incompatible function pointer types passing 'void (void *)' to parameter of type 'OSThreadProc *' (aka 'void *(*)(void *)') [-Wincompatible-function-pointer-types] 133 | createOSThread(&ids[n], "thief", thief, (void*)(StgWord)n); | ^~~~~ /workspace/ghc/_build/stage1/lib/../lib/x86_64-linux-ghc-9.11.20240502/rts-1.0.2/include/rts/OSThreads.h:193:51: error: note: passing argument to parameter 'startProc' here 193 | OSThreadProc *startProc, void *param); | ^ 2 warnings and 1 error generated. ``` - - - - - c2b33fc9 by Rodrigo Mesquita at 2024-05-10T01:50:20-04:00 Rename pre-processor invocation args Small clean up. Uses proper names for the various groups of arguments that make up the pre-processor invocation. - - - - - 2b1af08b by Cheng Shao at 2024-05-10T01:50:55-04:00 ghc-heap: fix typo in ghc-heap cbits - - - - - fc2d6de1 by Jade at 2024-05-10T21:07:16-04:00 Improve performance of Data.List.sort(By) This patch improves the algorithm to sort lists in base. It does so using two strategies: 1) Use a four-way-merge instead of the 'default' two-way-merge. This is able to save comparisons and allocations. 2) Use `(>) a b` over `compare a b == GT` and allow inlining and specialization. This mainly benefits types with a fast (>). Note that this *may* break instances with a *malformed* Ord instance where `a > b` is *not* equal to `compare a b == GT`. CLC proposal: https://github.com/haskell/core-libraries-committee/issues/236 Fixes #24280 ------------------------- Metric Decrease: MultiLayerModulesTH_Make T10421 T13719 T15164 T18698a T18698b T1969 T9872a T9961 T18730 WWRec T12425 T15703 ------------------------- - - - - - 1012e8aa by Matthew Pickering at 2024-05-10T21:07:52-04:00 Revert "ghcup-metadata: Drop output_name field" This reverts commit ecbf22a6ac397a791204590f94c0afa82e29e79f. This breaks the ghcup metadata generation on the nightly jobs. - - - - - daff1e30 by Jannis at 2024-05-12T13:38:35-04:00 Division by constants optimization - - - - - 413217ba by Andreas Klebinger at 2024-05-12T13:39:11-04:00 Tidy: Add flag to expose unfoldings if they take dictionary arguments. Add the flag `-fexpose-overloaded-unfoldings` to be able to control this behaviour. For ghc's boot libraries file size grew by less than 1% when it was enabled. However I refrained from enabling it by default for now. I've also added a section on specialization more broadly to the users guide. ------------------------- Metric Decrease: MultiLayerModulesTH_OneShot Metric Increase: T12425 T13386 hard_hole_fits ------------------------- - - - - - c5d89412 by Zubin Duggal at 2024-05-13T22:19:53-04:00 Don't store a GlobalRdrEnv in `mi_globals` for GHCi. GHCi only needs the `mi_globals` field for modules imported with :module +*SomeModule. It uses this field to make the top level environment in `SomeModule` available to the repl. By default, only the first target in the command line parameters is "star" loaded into GHCi. Other modules have to be manually "star" loaded into the repl. Storing the top level GlobalRdrEnv for each module is very wasteful, especially given that we will most likely never need most of these environments. Instead we store only the information needed to reconstruct the top level environment in a module, which is the `IfaceTopEnv` data structure, consisting of all import statements as well as all top level symbols defined in the module (not taking export lists into account) When a particular module is "star-loaded" into GHCi (as the first commandline target, or via an explicit `:module +*SomeModule`, we reconstruct the top level environment on demand using the `IfaceTopEnv`. - - - - - d65bf4a2 by Fendor at 2024-05-13T22:20:30-04:00 Add perf regression test for `-fwrite-if-simplified-core` - - - - - 2c0f8ddb by Andrei Borzenkov at 2024-05-13T22:21:07-04:00 Improve pattern to type pattern transformation (23739) `pat_to_type_pat` function now can handle more patterns: - TuplePat - ListPat - LitPat - NPat - ConPat Allowing these new constructors in type patterns significantly increases possible shapes of type patterns without `type` keyword. This patch also changes how lookups in `lookupOccRnConstr` are performed, because we need to fall back into types when we didn't find a constructor on data level to perform `ConPat` to type transformation properly. - - - - - be514bb4 by Cheng Shao at 2024-05-13T22:21:43-04:00 hadrian: fix hadrian building with ghc-9.10.1 - - - - - ad38e954 by Cheng Shao at 2024-05-13T22:21:43-04:00 linters: fix lint-whitespace compilation with ghc-9.10.1 - - - - - a593f284 by Andreas Klebinger at 2024-05-15T07:32:10-04:00 Expand the `inline` rule to look through casts/ticks. Fixes #24808 - - - - - b1e0c313 by Cheng Shao at 2024-05-15T07:32:46-04:00 testsuite: bump PartialDownSweep timeout to 5x on wasm32 - - - - - b2227487 by Fendor at 2024-05-15T17:14:06-04:00 Add Eq and Ord instance to `IfaceType` We add an `Ord` instance so that we can store `IfaceType` in a `Data.Map` container. This is required to deduplicate `IfaceType` while writing `.hi` files to disk. Deduplication has many beneficial consequences to both file size and memory usage, as the deduplication enables implicit sharing of values. See issue #24540 for more motivation. The `Ord` instance would be unnecessary if we used a `TrieMap` instead of `Data.Map` for the deduplication process. While in theory this is clerarly the better option, experiments on the agda code base showed that a `TrieMap` implementation has worse run-time performance characteristics. To the change itself, we mostly derive `Eq` and `Ord`. This requires us to change occurrences of `FastString` with `LexicalFastString`, since `FastString` has no `Ord` instance. We change the definition of `IfLclName` to a newtype of `LexicalFastString`, to make such changes in the future easier. Bump haddock submodule for IfLclName changes - - - - - d368f9a6 by Fendor at 2024-05-15T17:14:06-04:00 Move out LiteralMap to avoid cyclic module dependencies - - - - - 2fcc09fd by Fendor at 2024-05-15T17:14:06-04:00 Add deduplication table for `IfaceType` The type `IfaceType` is a highly redundant, tree-like data structure. While benchmarking, we realised that the high redundancy of `IfaceType` causes high memory consumption in GHCi sessions when byte code is embedded into the `.hi` file via `-fwrite-if-simplified-core` or `-fbyte-code-and-object-code`. Loading such `.hi` files from disk introduces many duplicates of memory expensive values in `IfaceType`, such as `IfaceTyCon`, `IfaceTyConApp`, `IA_Arg` and many more. We improve the memory behaviour of GHCi by adding an additional deduplication table for `IfaceType` to the serialisation of `ModIface`, similar to how we deduplicate `Name`s and `FastString`s. When reading the interface file back, the table allows us to automatically share identical values of `IfaceType`. To provide some numbers, we evaluated this patch on the agda code base. We loaded the full library from the `.hi` files, which contained the embedded core expressions (`-fwrite-if-simplified-core`). Before this patch: * Load time: 11.7 s, 2.5 GB maximum residency. After this patch: * Load time: 7.3 s, 1.7 GB maximum residency. This deduplication has the beneficial side effect to additionally reduce the size of the on-disk interface files tremendously. For example, on agda, we reduce the size of `.hi` files (with `-fwrite-if-simplified-core`): * Before: 101 MB on disk * Now: 24 MB on disk This has even a beneficial side effect on the cabal store. We reduce the size of the store on disk: * Before: 341 MB on disk * Now: 310 MB on disk Note, none of the dependencies have been compiled with `-fwrite-if-simplified-core`, but `IfaceType` occurs in multiple locations in a `ModIface`. We also add IfaceType deduplication table to .hie serialisation and refactor .hie file serialisation to use the same infrastrucutre as `putWithTables`. Bump haddock submodule to accomodate for changes to the deduplication table layout and binary interface. - - - - - 36aa7cf1 by Fendor at 2024-05-15T17:14:06-04:00 Add run-time configurability of `.hi` file compression Introduce the flag `-fwrite-if-compression=<n>` which allows to configure the compression level of writing .hi files. The motivation is that some deduplication operations are too expensive for the average use case. Hence, we introduce multiple compression levels with variable impact on performance, but still reduce the memory residency and `.hi` file size on disk considerably. We introduce three compression levels: * `1`: `Normal` mode. This is the least amount of compression. It deduplicates only `Name` and `FastString`s, and is naturally the fastest compression mode. * `2`: `Safe` mode. It has a noticeable impact on .hi file size and is marginally slower than `Normal` mode. In general, it should be safe to always use `Safe` mode. * `3`: `Full` deduplication mode. Deduplicate as much as we can, resulting in minimal .hi files, but at the cost of additional compilation time. Reading .hi files doesn't need to know the initial compression level, and can always deserialise a `ModIface`, as we write out a byte that indicates the next value has been deduplicated. This allows users to experiment with different compression levels for packages, without recompilation of dependencies. Note, the deduplication also has an additional side effect of reduced memory consumption to implicit sharing of deduplicated elements. See https://gitlab.haskell.org/ghc/ghc/-/issues/24540 for example where that matters. ------------------------- Metric Decrease: MultiLayerModulesDefsGhciWithCore T16875 T21839c T24471 hard_hole_fits libdir ------------------------- - - - - - 1e63a6fb by Matthew Pickering at 2024-05-15T17:14:07-04:00 Introduce regression tests for `.hi` file sizes Add regression tests to track how `-fwrite-if-compression` levels affect the size of `.hi` files. - - - - - 639d742b by M Farkas-Dyck at 2024-05-15T17:14:49-04:00 TTG: ApplicativeStatement exist only in Rn and Tc Co-Authored-By: romes <rodrigo.m.mesquita@gmail.com> - - - - - aa7b336b by Jade at 2024-05-15T23:06:17-04:00 Documentation: Improve documentation for symbols exported from System.IO - - - - - c561de8f by Jade at 2024-05-15T23:06:54-04:00 Improve suggestions for language extensions - When suggesting Language extensions, also suggest Extensions which imply them - Suggest ExplicitForAll and GADTSyntax instead of more specific extensions - Rephrase suggestion to include the term 'Extension' - Also moves some flag specific definitions out of Session.hs into Flags.hs (#24478) Fixes: #24477 Fixes: #24448 Fixes: #10893 - - - - - 4c7ae2a1 by Andreas Klebinger at 2024-05-15T23:07:30-04:00 Testsuite: Check if llvm assembler is available for have_llvm - - - - - bc672166 by Torsten Schmits at 2024-05-15T23:08:06-04:00 refactor quadratic search in warnMissingHomeModules - - - - - 7875e8cb by Torsten Schmits at 2024-05-15T23:08:06-04:00 add test that runs MakeDepend on thousands of modules - - - - - f35d2520 by Simon Peyton Jones at 2024-05-16T13:38:31+01:00 Solve #22423 by inlining only values in callSiteInline Needs a proper commit message ... this is just to try it out. - - - - - dd9a709c by Simon Peyton Jones at 2024-05-16T13:38:31+01:00 Refine exprIsWorkFree This makes it a bit less eager to inline multi-branch cases. - - - - - d06c60ec by Simon Peyton Jones at 2024-05-16T13:38:31+01:00 Wibble - - - - - 415 changed files: - .gitlab/ci.sh - .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py - compiler/GHC.hs - compiler/GHC/Cmm.hs - compiler/GHC/Cmm/Config.hs - compiler/GHC/Cmm/MachOp.hs - compiler/GHC/Cmm/Opt.hs - compiler/GHC/Cmm/Pipeline.hs - compiler/GHC/Cmm/Sink.hs - compiler/GHC/CmmToAsm/AArch64/RegInfo.hs - compiler/GHC/CmmToAsm/Monad.hs - compiler/GHC/CmmToAsm/X86/Instr.hs - compiler/GHC/Core/Lint.hs - compiler/GHC/Core/Map/Expr.hs - compiler/GHC/Core/Opt/Arity.hs - compiler/GHC/Core/Opt/ConstantFold.hs - compiler/GHC/Core/Opt/Simplify/Inline.hs - compiler/GHC/Core/Opt/Simplify/Iteration.hs - compiler/GHC/Core/TyCo/Rep.hs - compiler/GHC/Core/Utils.hs - compiler/GHC/CoreToIface.hs - compiler/GHC/Data/FastString.hs - compiler/GHC/Data/TrieMap.hs - compiler/GHC/Driver/Backend.hs - compiler/GHC/Driver/Config/Cmm.hs - compiler/GHC/Driver/Config/Tidy.hs - compiler/GHC/Driver/DynFlags.hs - compiler/GHC/Driver/Flags.hs - compiler/GHC/Driver/Main.hs - compiler/GHC/Driver/Make.hs - compiler/GHC/Driver/Session.hs - compiler/GHC/Hs/Expr.hs - compiler/GHC/Hs/Instances.hs - compiler/GHC/Hs/Type.hs - compiler/GHC/Hs/Utils.hs - compiler/GHC/HsToCore/Expr.hs - compiler/GHC/HsToCore/GuardedRHSs.hs - compiler/GHC/HsToCore/ListComp.hs - compiler/GHC/HsToCore/Pmc/Desugar.hs - compiler/GHC/HsToCore/Ticks.hs - compiler/GHC/Iface/Binary.hs - compiler/GHC/Iface/Decl.hs - compiler/GHC/Iface/Env.hs - compiler/GHC/Iface/Ext/Ast.hs - compiler/GHC/Iface/Ext/Binary.hs - compiler/GHC/Iface/Ext/Utils.hs - compiler/GHC/Iface/Load.hs - compiler/GHC/Iface/Make.hs - compiler/GHC/Iface/Recomp.hs - compiler/GHC/Iface/Recomp/Binary.hs - compiler/GHC/Iface/Syntax.hs - compiler/GHC/Iface/Tidy.hs - compiler/GHC/Iface/Type.hs - compiler/GHC/IfaceToCore.hs - compiler/GHC/Parser/Errors/Ppr.hs - compiler/GHC/Rename/Env.hs - compiler/GHC/Rename/Expr.hs - compiler/GHC/Rename/Module.hs - compiler/GHC/Rename/Names.hs - compiler/GHC/Rename/Pat.hs - compiler/GHC/Runtime/Eval.hs - compiler/GHC/Runtime/Loader.hs - compiler/GHC/Stg/CSE.hs - compiler/GHC/StgToCmm/InfoTableProv.hs - compiler/GHC/StgToCmm/Prim.hs - compiler/GHC/StgToJS/Object.hs - compiler/GHC/SysTools/Tasks.hs - compiler/GHC/Tc/Errors/Ppr.hs - compiler/GHC/Tc/Gen/App.hs - compiler/GHC/Tc/Gen/Do.hs - compiler/GHC/Tc/Gen/Head.hs - compiler/GHC/Tc/Gen/HsType.hs - compiler/GHC/Tc/Gen/Match.hs - compiler/GHC/Tc/Gen/Pat.hs - compiler/GHC/Tc/Module.hs - compiler/GHC/Tc/Types.hs - compiler/GHC/Tc/Utils/Backpack.hs - compiler/GHC/Tc/Utils/Env.hs - compiler/GHC/Tc/Utils/Monad.hs - compiler/GHC/Tc/Zonk/Type.hs - compiler/GHC/Types/Basic.hs - compiler/GHC/Types/Hint/Ppr.hs - compiler/GHC/Types/Name/Reader.hs - compiler/GHC/Types/PkgQual.hs - compiler/GHC/Types/Unique/Set.hs - compiler/GHC/Types/Var.hs - compiler/GHC/Unit/Module/ModIface.hs - compiler/GHC/Utils/Binary.hs - compiler/GHC/Utils/Outputable.hs - compiler/Language/Haskell/Syntax/Expr.hs - compiler/Language/Haskell/Syntax/Extension.hs - compiler/Language/Haskell/Syntax/ImpExp.hs - compiler/Language/Haskell/Syntax/Type.hs - compiler/Language/Haskell/Syntax/Type.hs-boot - docs/users_guide/9.12.1-notes.rst - docs/users_guide/hints.rst - docs/users_guide/using-optimisation.rst - ghc/GHCi/UI.hs - ghc/GHCi/UI/Info.hs - ghc/GHCi/UI/Monad.hs - hadrian/cabal.project - hadrian/hadrian.cabal - hadrian/src/Settings/Builders/RunTest.hs - libraries/base/changelog.md - libraries/base/src/GHC/IO/Handle.hs - libraries/base/src/GHC/IO/StdHandles.hs - libraries/base/src/System/IO.hs - libraries/ghc-heap/cbits/Stack.cmm - libraries/ghc-internal/src/GHC/Internal/Data/OldList.hs - libraries/ghc-internal/src/GHC/Internal/IO/Handle.hs - libraries/ghc-internal/src/GHC/Internal/IO/Handle/Text.hs - libraries/ghc-internal/src/GHC/Internal/IO/Handle/Types.hs - libraries/ghc-internal/src/GHC/Internal/IO/StdHandles.hs - libraries/ghc-internal/src/GHC/Internal/InfoProv/Types.hsc - libraries/ghc-internal/src/GHC/Internal/System/IO.hs - linters/lint-whitespace/lint-whitespace.cabal - rts/IPE.c - rts/Trace.c - rts/eventlog/EventLog.c - rts/include/rts/Constants.h - rts/include/rts/IPE.h - testsuite/driver/testlib.py - testsuite/tests/dependent/should_fail/T15215.stderr - testsuite/tests/dependent/should_fail/T15859.stderr - testsuite/tests/dependent/should_fail/T16326_Fail1.stderr - testsuite/tests/dependent/should_fail/T16326_Fail10.stderr - testsuite/tests/dependent/should_fail/T16326_Fail11.stderr - testsuite/tests/dependent/should_fail/T16326_Fail2.stderr - testsuite/tests/dependent/should_fail/T16326_Fail3.stderr - testsuite/tests/dependent/should_fail/T16326_Fail4.stderr - testsuite/tests/dependent/should_fail/T16326_Fail5.stderr - testsuite/tests/dependent/should_fail/T16326_Fail7.stderr - testsuite/tests/dependent/should_fail/T16326_Fail9.stderr - testsuite/tests/dependent/should_fail/T17687.stderr - testsuite/tests/deriving/should_compile/T16179.stderr - testsuite/tests/deriving/should_fail/T10598_fail2.stderr - testsuite/tests/deriving/should_fail/T10598_fail4.stderr - testsuite/tests/deriving/should_fail/T10598_fail5.stderr - testsuite/tests/deriving/should_fail/T1133A.stderr - testsuite/tests/deriving/should_fail/T12512.stderr - testsuite/tests/deriving/should_fail/T19692.stderr - testsuite/tests/deriving/should_fail/T3833.stderr - testsuite/tests/deriving/should_fail/T3834.stderr - testsuite/tests/deriving/should_fail/T7401_fail.stderr - testsuite/tests/deriving/should_fail/T7959.stderr - testsuite/tests/deriving/should_fail/T8165_fail2.stderr - testsuite/tests/deriving/should_fail/T9600.stderr - testsuite/tests/deriving/should_fail/deriving-via-fail3.stderr - testsuite/tests/deriving/should_fail/drvfail008.stderr - testsuite/tests/deriving/should_fail/drvfail015.stderr - testsuite/tests/driver/T11381.stderr - testsuite/tests/driver/json.stderr - testsuite/tests/ffi/should_fail/T10461.stderr - testsuite/tests/ffi/should_fail/T20116.stderr - testsuite/tests/ffi/should_fail/ccfail001.stderr - testsuite/tests/gadt/T20485.stderr - testsuite/tests/gadt/gadtSyntaxFail001.stderr - testsuite/tests/gadt/gadtSyntaxFail002.stderr - testsuite/tests/gadt/gadtSyntaxFail003.stderr - testsuite/tests/generics/T10604/T10604_no_PolyKinds.stderr - testsuite/tests/generics/T5462No1.stderr - testsuite/tests/ghc-api/downsweep/all.T - testsuite/tests/ghci/prog006/prog006.stderr - testsuite/tests/ghci/prog011/prog011.stderr - testsuite/tests/ghci/scripts/T13202a.stderr - testsuite/tests/ghci/scripts/T14969.stderr - testsuite/tests/ghci/scripts/T23686.stderr - testsuite/tests/ghci/scripts/T9293.stderr - testsuite/tests/ghci/scripts/ghci057.stderr - testsuite/tests/ghci/should_run/T10857a.stdout - testsuite/tests/ghci/should_run/T15806.stderr - + testsuite/tests/iface/IfaceSharingIfaceType.hs - + testsuite/tests/iface/IfaceSharingName.hs - + testsuite/tests/iface/Lib.hs - + testsuite/tests/iface/Makefile - + testsuite/tests/iface/all.T - + testsuite/tests/iface/if_faststring.hs - + testsuite/tests/iface/if_ifacetype.hs - + testsuite/tests/iface/if_name.hs - testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr - testsuite/tests/indexed-types/should_fail/NotRelaxedExamples.stderr - testsuite/tests/indexed-types/should_fail/SimpleFail15.stderr - testsuite/tests/indexed-types/should_fail/T10817.stderr - testsuite/tests/indexed-types/should_fail/T13571.stderr - testsuite/tests/indexed-types/should_fail/T13571a.stderr - testsuite/tests/indexed-types/should_fail/T15172.stderr - testsuite/tests/indexed-types/should_fail/TyFamUndec.stderr - + testsuite/tests/lib/base/Sort.hs - + testsuite/tests/lib/base/Sort.stdout - testsuite/tests/lib/base/all.T - testsuite/tests/linear/should_fail/LinearNoExt.stderr - testsuite/tests/linear/should_fail/LinearNoExtU.stderr - testsuite/tests/linear/should_fail/T18888.stderr - testsuite/tests/mdo/should_fail/mdofail005.stderr - testsuite/tests/module/T20007.stderr - testsuite/tests/module/mod182.stderr - testsuite/tests/module/mod184.stderr - testsuite/tests/module/mod39.stderr - testsuite/tests/module/mod40.stderr - testsuite/tests/module/mod41.stderr - testsuite/tests/module/mod42.stderr - testsuite/tests/module/mod43.stderr - testsuite/tests/module/mod45.stderr - testsuite/tests/module/mod53.stderr - testsuite/tests/numeric/should_compile/T8542.stderr - testsuite/tests/numeric/should_run/all.T - + testsuite/tests/numeric/should_run/div01.hs - + testsuite/tests/numeric/should_run/div01.stdout - + testsuite/tests/numeric/should_run/div01.stdout-ws-32 - testsuite/tests/numeric/should_run/mul2.hs - testsuite/tests/numeric/should_run/mul2.stdout - testsuite/tests/numeric/should_run/mul2.stdout-ws-32 - testsuite/tests/overloadedrecflds/should_fail/NoFieldSelectorsFail.stderr - testsuite/tests/overloadedrecflds/should_fail/T18999_NoDisambiguateRecordFields.stderr - testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail10.stderr - testsuite/tests/parser/should_fail/ListTuplePunsFail1.stderr - testsuite/tests/parser/should_fail/NoBlockArgumentsFail.stderr - testsuite/tests/parser/should_fail/NoBlockArgumentsFail2.stderr - testsuite/tests/parser/should_fail/NoBlockArgumentsFail3.stderr - testsuite/tests/parser/should_fail/NoBlockArgumentsFailArrowCmds.stderr - testsuite/tests/parser/should_fail/NoDoAndIfThenElse.stderr - testsuite/tests/parser/should_fail/NoNumericUnderscores0.stderr - testsuite/tests/parser/should_fail/NoNumericUnderscores1.stderr - testsuite/tests/parser/should_fail/NoPatternSynonyms.stderr - testsuite/tests/parser/should_fail/NondecreasingIndentationFail.stderr - testsuite/tests/parser/should_fail/ParserNoForallUnicode.stderr - testsuite/tests/parser/should_fail/ParserNoLambdaCase.stderr - testsuite/tests/parser/should_fail/ParserNoMultiWayIf.stderr - testsuite/tests/parser/should_fail/ParserNoTH1.stderr - testsuite/tests/parser/should_fail/ParserNoTH2.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail12.stderr - testsuite/tests/parser/should_fail/RecordDotSyntaxFail2.stderr - testsuite/tests/parser/should_fail/RecordWildCardsFail.stderr - testsuite/tests/parser/should_fail/T12429.stderr - testsuite/tests/parser/should_fail/T12446.stderr - testsuite/tests/parser/should_fail/T12811.stderr - testsuite/tests/parser/should_fail/T14588.stderr - testsuite/tests/parser/should_fail/T16270.stderr - testsuite/tests/parser/should_fail/T16270h.stderr - testsuite/tests/parser/should_fail/T17162.stderr - testsuite/tests/parser/should_fail/T18251c.stderr - testsuite/tests/parser/should_fail/T18251e.stderr - testsuite/tests/parser/should_fail/T20385A.stderr - testsuite/tests/parser/should_fail/T20385B.stderr - testsuite/tests/parser/should_fail/T3095.stderr - testsuite/tests/parser/should_fail/T3811e.stderr - testsuite/tests/parser/should_fail/T8258NoGADTs.stderr - testsuite/tests/parser/should_fail/T8501a.stderr - testsuite/tests/parser/should_fail/T8501b.stderr - testsuite/tests/parser/should_fail/T8501c.stderr - testsuite/tests/parser/should_fail/ViewPatternsFail.stderr - testsuite/tests/parser/should_fail/proposal-229c.stderr - testsuite/tests/parser/should_fail/readFail001.stderr - testsuite/tests/parser/should_fail/readFail035.stderr - testsuite/tests/parser/should_fail/readFail036.stderr - testsuite/tests/parser/should_fail/readFail037.stderr - testsuite/tests/parser/should_fail/readFail038.stderr - testsuite/tests/parser/should_fail/readFail039.stderr - testsuite/tests/parser/should_fail/readFail040.stderr - testsuite/tests/parser/should_fail/readFail041.stderr - testsuite/tests/parser/should_fail/readFail042.stderr - testsuite/tests/parser/should_fail/readFail043.stderr - testsuite/tests/parser/should_fail/readFailTraditionalRecords1.stderr - testsuite/tests/parser/should_fail/readFailTraditionalRecords2.stderr - testsuite/tests/parser/should_fail/readFailTraditionalRecords3.stderr - testsuite/tests/partial-sigs/should_compile/T13324_compile2.stderr - testsuite/tests/patsyn/should_fail/export-syntax.stderr - testsuite/tests/perf/compiler/Makefile - testsuite/tests/perf/compiler/all.T - + testsuite/tests/perf/compiler/large-project/all.T - + testsuite/tests/perf/compiler/large-project/large-project.sh - testsuite/tests/polykinds/BadKindVar.stderr - testsuite/tests/polykinds/T12055a.stderr - testsuite/tests/polykinds/T14710.stderr - testsuite/tests/polykinds/T16762b.stderr - testsuite/tests/polykinds/T7151.stderr - testsuite/tests/polykinds/T7433.stderr - testsuite/tests/polykinds/TidyClassKinds.stderr - testsuite/tests/qualifieddo/should_fail/qdofail002.stderr - testsuite/tests/quantified-constraints/T15231.stderr - testsuite/tests/quantified-constraints/T15316.stderr - testsuite/tests/quotes/TH_double_splice.stderr - testsuite/tests/quotes/TH_top_splice.stderr - testsuite/tests/quotes/TTH_top_splice.stderr - testsuite/tests/rename/should_compile/T15798b.stderr - testsuite/tests/rename/should_compile/T15798c.stderr - + testsuite/tests/rename/should_compile/T24621_normal.hs - + testsuite/tests/rename/should_compile/T24621_th.hs - testsuite/tests/rename/should_compile/all.T - testsuite/tests/rename/should_compile/rn049.stderr - testsuite/tests/rename/should_fail/PackageImportsDisabled.stderr - testsuite/tests/rename/should_fail/RnDefaultSigFail.stderr - testsuite/tests/rename/should_fail/RnEmptyCaseFail.stderr - testsuite/tests/rename/should_fail/RnEmptyStatementGroup1.stderr - testsuite/tests/rename/should_fail/RnPatternSynonymFail.stderr - testsuite/tests/rename/should_fail/RnUnexpectedStandaloneDeriving.stderr - testsuite/tests/rename/should_fail/T11663.stderr - testsuite/tests/rename/should_fail/T13568.stderr - testsuite/tests/rename/should_fail/T14032c.stderr - testsuite/tests/rename/should_fail/T17594b.stderr - testsuite/tests/rename/should_fail/T19843c.stderr - testsuite/tests/rename/should_fail/T20147.stderr - testsuite/tests/rename/should_fail/T22478e.stderr - testsuite/tests/rename/should_fail/T3265.stderr - testsuite/tests/rename/should_fail/rnfail052.stderr - testsuite/tests/rename/should_fail/rnfail053.stderr - testsuite/tests/rename/should_fail/rnfail056.stderr - testsuite/tests/roles/should_fail/Roles5.stderr - testsuite/tests/roles/should_fail/T8773.stderr - testsuite/tests/rts/ipe/ipeEventLog.stderr - testsuite/tests/rts/ipe/ipeEventLog_fromMap.stderr - testsuite/tests/rts/ipe/ipeMap.c - testsuite/tests/rts/ipe/ipe_lib.c - testsuite/tests/rts/testwsdeque.c - testsuite/tests/safeHaskell/ghci/p16.stderr - testsuite/tests/safeHaskell/safeLanguage/SafeLang12.stderr - testsuite/tests/saks/should_fail/T16722.stderr - testsuite/tests/saks/should_fail/saks_fail001.stderr - + testsuite/tests/simplCore/should_compile/ExposeOverloaded.hs - + testsuite/tests/simplCore/should_compile/ExposeOverloaded.stderr - testsuite/tests/simplCore/should_compile/T16038/Makefile - + testsuite/tests/simplCore/should_compile/T24808.hs - + testsuite/tests/simplCore/should_compile/T24808.stderr - testsuite/tests/simplCore/should_compile/all.T - testsuite/tests/th/T12411.stderr - testsuite/tests/th/T14204.stderr - testsuite/tests/th/T16133.stderr - testsuite/tests/th/TH_Promoted1Tuple.stderr - testsuite/tests/th/TH_Roles1.stderr - testsuite/tests/type-data/should_fail/TDNoPragma.stderr - testsuite/tests/type-data/should_fail/TDPattern.stderr - testsuite/tests/typecheck/should_compile/T15473.stderr - testsuite/tests/typecheck/should_compile/T15839a.stderr - testsuite/tests/typecheck/should_compile/T22141a.stderr - testsuite/tests/typecheck/should_compile/T22141b.stderr - testsuite/tests/typecheck/should_compile/T22141c.stderr - testsuite/tests/typecheck/should_compile/T22141d.stderr - testsuite/tests/typecheck/should_compile/T22141e.stderr - + testsuite/tests/typecheck/should_compile/T23739a.hs - testsuite/tests/typecheck/should_compile/all.T - testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.stderr - testsuite/tests/typecheck/should_fail/T10351.stderr - testsuite/tests/typecheck/should_fail/T11355.stderr - testsuite/tests/typecheck/should_fail/T12083a.stderr - testsuite/tests/typecheck/should_fail/T12083b.stderr - testsuite/tests/typecheck/should_fail/T12729.stderr - testsuite/tests/typecheck/should_fail/T15527.stderr - testsuite/tests/typecheck/should_fail/T15552a.stderr - testsuite/tests/typecheck/should_fail/T15883.stderr - testsuite/tests/typecheck/should_fail/T16059c.stderr - testsuite/tests/typecheck/should_fail/T16059d.stderr - testsuite/tests/typecheck/should_fail/T16059e.stderr - testsuite/tests/typecheck/should_fail/T16512b.stderr - testsuite/tests/typecheck/should_fail/T16829a.stderr - testsuite/tests/typecheck/should_fail/T16829b.stderr - testsuite/tests/typecheck/should_fail/T17213.stderr - testsuite/tests/typecheck/should_fail/T17563.stderr - testsuite/tests/typecheck/should_fail/T18939_Fail.stderr - testsuite/tests/typecheck/should_fail/T19109.stderr - testsuite/tests/typecheck/should_fail/T19187.stderr - testsuite/tests/typecheck/should_fail/T19187a.stderr - testsuite/tests/typecheck/should_fail/T20873c.stderr - testsuite/tests/typecheck/should_fail/T20873d.stderr - testsuite/tests/typecheck/should_fail/T22560_fail_ext.stderr - + testsuite/tests/typecheck/should_fail/T23739b.hs - + testsuite/tests/typecheck/should_fail/T23739b.stderr - testsuite/tests/typecheck/should_fail/T23776.stderr - testsuite/tests/typecheck/should_fail/T2538.stderr - testsuite/tests/typecheck/should_fail/T3155.stderr - testsuite/tests/typecheck/should_fail/T5957.stderr - testsuite/tests/typecheck/should_fail/T6022.stderr - testsuite/tests/typecheck/should_fail/T7019.stderr - testsuite/tests/typecheck/should_fail/T7019a.stderr - testsuite/tests/typecheck/should_fail/T7809.stderr - testsuite/tests/typecheck/should_fail/T8883.stderr - testsuite/tests/typecheck/should_fail/T9196.stderr - testsuite/tests/typecheck/should_fail/T9415.stderr - testsuite/tests/typecheck/should_fail/T9739.stderr - testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr - testsuite/tests/typecheck/should_fail/TyfamsDisabled.stderr - testsuite/tests/typecheck/should_fail/UnliftedNewtypesNotEnabled.stderr - testsuite/tests/typecheck/should_fail/all.T - testsuite/tests/typecheck/should_fail/fd-loop.stderr - testsuite/tests/typecheck/should_fail/tcfail027.stderr - testsuite/tests/typecheck/should_fail/tcfail044.stderr - testsuite/tests/typecheck/should_fail/tcfail047.stderr - testsuite/tests/typecheck/should_fail/tcfail079.stderr - testsuite/tests/typecheck/should_fail/tcfail094.stderr - testsuite/tests/typecheck/should_fail/tcfail108.stderr - testsuite/tests/typecheck/should_fail/tcfail117.stderr - testsuite/tests/typecheck/should_fail/tcfail127.stderr - testsuite/tests/typecheck/should_fail/tcfail139.stderr - testsuite/tests/typecheck/should_fail/tcfail150.stderr - testsuite/tests/typecheck/should_fail/tcfail154.stderr - testsuite/tests/typecheck/should_fail/tcfail157.stderr - testsuite/tests/typecheck/should_fail/tcfail166.stderr - testsuite/tests/typecheck/should_fail/tcfail173.stderr - testsuite/tests/typecheck/should_fail/tcfail183.stderr - testsuite/tests/typecheck/should_fail/tcfail184.stderr - testsuite/tests/typecheck/should_fail/tcfail196.stderr - testsuite/tests/typecheck/should_fail/tcfail197.stderr - testsuite/tests/typecheck/should_fail/tcfail209.stderr - testsuite/tests/typecheck/should_fail/tcfail209a.stderr - testsuite/tests/typecheck/should_fail/tcfail213.stderr - testsuite/tests/typecheck/should_fail/tcfail214.stderr - testsuite/tests/typecheck/should_fail/tcfail216.stderr - testsuite/tests/typecheck/should_fail/tcfail217.stderr - testsuite/tests/vdq-rta/should_fail/T22326_fail_ext1.stderr - testsuite/tests/vdq-rta/should_fail/T22326_fail_ext2.stderr - testsuite/tests/warnings/should_compile/T18862a.stderr - testsuite/tests/warnings/should_fail/T24396c.stderr - testsuite/tests/wcompat-warnings/WCompatWarningsOn.stderr - utils/check-exact/ExactPrint.hs - utils/dump-decls/Main.hs - utils/haddock The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ba74c4a6824a21d7b85e3b25daffcdb... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ba74c4a6824a21d7b85e3b25daffcdb... You're receiving this email because of your account on gitlab.haskell.org. Manage all notifications: https://gitlab.haskell.org/-/profile/notifications | Help: https://gitlab.haskell.org/help
participants (1)
-
Simon Peyton Jones (@simonpj)