Alan Zimmerman pushed to branch wip/az/exactprint-annotation-rationalisation at Glasgow Haskell Compiler / GHC Commits: cbef021e by Artem Pelenitsyn at 2026-07-19T07:49:55-04:00 ghc-internal: Lock.hs: fix typo and indentation - - - - - 42918646 by Duncan Coutts at 2026-07-19T07:50:36-04:00 Fix failing test GcStaticPointers for non-moving GC Minor mistake in asserting something before checking for that same thing. Specifically, Bdescr asserts HEAP_ALLOCED_GC, but Bdescr was being used prior to a guard that checks HEAP_ALLOCED_GC. The solution is just to move the use of Bdescr after the guard. Thanks to Simon Jakobi for identifying the problem. - - - - - b6ce9a30 by Alan Zimmerman at 2026-07-20T21:56:38+01:00 EPA: Keep decls together in ClassDecl Similar to 1718230f4d3d19d8c49c0e5d496cb0fb6f399528 for HsValBindsLR, this commit updates ClassDecl so that it no longer splits out the assorted `LHsDecl GhcPs` until the renamer. It does this by inserting a type family (separate from the classic TTG one) for this. So data TyClDecl ... | ClassDecl { ... tcdDecls :: XClassDecls pass with type instance XClassDecls GhcPs = [LHsDecl GhcPs] type instance XClassDecls GhcRn = ClassDeclX GhcRn type instance XClassDecls GhcTc = ClassDeclX GhcTc data ClassDeclX pass = ClassDeclX { tcdSigs :: [LSig pass], -- ^ Methods' signatures tcdMeths :: LHsBinds pass, -- ^ Default methods tcdATs :: [LFamilyDecl pass], -- ^ Associated types; tcdATDefs :: [LTyFamDefltDecl pass], -- ^ Associated type defaults tcdDocs :: [LDocDecl pass] -- ^ Haddock docs } - - - - - b4c361ec by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: ClsInstDecl as list in GhcPs - - - - - 218b6668 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedP from OverlapMode - - - - - 4e31ee51 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedP from CType - - - - - 3df2b928 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedP, last use in WarningTxt - - - - - 27ea7d2a by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedE from WarningCategory - - - - - 8a36810b by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocateE from XCImport and XCExport - - - - - acf2c17c by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedE from HsRecFields dot - - - - - 0812e4ef by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedE completely, last usage for pats - - - - - 5853d23d by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove AnnList (EpToken "where") usages This is moving toward removing the parameter from AnnList completely - - - - - dab1103a by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA remove AnnList (EpToken "rec") usages - - - - - cfbe84b5 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove last parameterised AnnList usage (EpaLocation) Also remove the parameter - - - - - a88da59f by Alan Zimmerman at 2026-07-20T22:09:38+01:00 TTG: Add extension points to BooleanFormula They are currently unused, but will be used for exact print annotations next - - - - - 5a1ad325 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Remove LocatedBC / SrcSpanBF - - - - - a0adbca1 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: remove unused addTrailingAnnToL. Squash appropriately - - - - - 70e08baa by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPS: Remove NoEpTok/NoEpUniTok, using an unhelpful SrcSpan instead Also introduce helper functions noEpTok and noEpUniTok to serve as simple replacements in code inserting an token annotation without location information. - - - - - 874c751b by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Some haddock processing tweaks - - - - - 12f8008e by Alan Zimmerman at 2026-07-20T22:09:38+01:00 Some haddock exactprint tests - - - - - 78b04333 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: When adding comments honour trailing anns - - - - - d5f036c5 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA: Uses Parsers.parseModule for exactprint tests This is the advertised way to parse for use for exact printing in the ghc-exactprint library, make sure we test using it. - - - - - cf57b346 by Alan Zimmerman at 2026-07-20T22:09:38+01:00 EPA Fix HsCmdDo exact print with comments TODO: add test based on proc-do-complex-four-out.hs - - - - - 85 changed files: - compiler/GHC/Builtin/Utils.hs - compiler/GHC/Core/Class.hs - compiler/GHC/CoreToIface.hs - compiler/GHC/Data/BooleanFormula.hs - compiler/GHC/Hs.hs - compiler/GHC/Hs/Binds.hs - compiler/GHC/Hs/Decls.hs - compiler/GHC/Hs/Decls/Overlap.hs - compiler/GHC/Hs/Dump.hs - compiler/GHC/Hs/Expr.hs - compiler/GHC/Hs/Instances.hs - compiler/GHC/Hs/Pat.hs - compiler/GHC/Hs/Stats.hs - compiler/GHC/Hs/Utils.hs - compiler/GHC/HsToCore/Docs.hs - compiler/GHC/HsToCore/Quote.hs - compiler/GHC/Iface/Ext/Ast.hs - compiler/GHC/Iface/Syntax.hs - compiler/GHC/Iface/Warnings.hs - compiler/GHC/IfaceToCore.hs - compiler/GHC/Parser.y - compiler/GHC/Parser/Annotation.hs - compiler/GHC/Parser/PostProcess.hs - compiler/GHC/Parser/PostProcess/Haddock.hs - compiler/GHC/Rename/Module.hs - compiler/GHC/Rename/Names.hs - compiler/GHC/Rename/Pat.hs - compiler/GHC/Tc/Deriv.hs - compiler/GHC/Tc/TyCl.hs - compiler/GHC/Tc/TyCl/Class.hs - compiler/GHC/Tc/TyCl/Instance.hs - compiler/GHC/Tc/Utils/Env.hs - compiler/GHC/Tc/Utils/Instantiate.hs - compiler/GHC/ThToHs.hs - compiler/GHC/Types/ForeignCall.hs - compiler/GHC/Unit/Module/Warnings.hs - compiler/Language/Haskell/Syntax/Binds.hs - compiler/Language/Haskell/Syntax/BooleanFormula.hs - compiler/Language/Haskell/Syntax/Decls.hs - compiler/Language/Haskell/Syntax/Extension.hs - libraries/ghc-internal/src/GHC/Internal/IO/Handle/Lock.hs - rts/sm/NonMovingMark.c - testsuite/tests/ghc-api/T25121_status.stdout - testsuite/tests/ghc-api/exactprint/T22919.stderr - testsuite/tests/ghc-api/exactprint/Test20239.stderr - testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr - testsuite/tests/haddock/haddock_examples/haddock.Test.stderr - testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr - testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr - testsuite/tests/haddock/should_compile_flag_haddock/T24221.stderr - testsuite/tests/module/mod185.stderr - testsuite/tests/parser/should_compile/DumpParsedAst.stderr - testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr - testsuite/tests/parser/should_compile/DumpRenamedAst.stderr - testsuite/tests/parser/should_compile/DumpSemis.stderr - testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr - testsuite/tests/parser/should_compile/KindSigs.stderr - testsuite/tests/parser/should_compile/T14189.stderr - testsuite/tests/parser/should_compile/T15279.stderr - testsuite/tests/parser/should_compile/T15323.stderr - testsuite/tests/parser/should_compile/T20452.stderr - testsuite/tests/parser/should_compile/T20718.stderr - testsuite/tests/parser/should_compile/T20718b.stderr - testsuite/tests/parser/should_compile/T20846.stderr - testsuite/tests/parser/should_compile/T23315/T23315.stderr - testsuite/tests/printer/AnnotationNoListTuplePuns.stdout - + testsuite/tests/printer/Haddock1.hs - testsuite/tests/printer/Makefile - testsuite/tests/printer/T18791.stderr - testsuite/tests/printer/Test20297.stdout - testsuite/tests/printer/Test24533.stdout - testsuite/tests/printer/all.T - utils/check-exact/ExactPrint.hs - utils/check-exact/Main.hs - utils/check-exact/Parsers.hs - utils/check-exact/Transform.hs - utils/check-exact/Utils.hs - utils/haddock/haddock-api/src/Haddock/Backends/Hoogle.hs - utils/haddock/haddock-api/src/Haddock/Backends/LaTeX.hs - utils/haddock/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs - utils/haddock/haddock-api/src/Haddock/Convert.hs - utils/haddock/haddock-api/src/Haddock/GhcUtils.hs - utils/haddock/haddock-api/src/Haddock/Interface/Create.hs - utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs - utils/haddock/haddock-api/src/Haddock/Types.hs The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/20e322c4b57fe975481fe6e7ed7eeab... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/20e322c4b57fe975481fe6e7ed7eeab... 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