...

Commits (7)
 ... ... @@ -149,8 +149,8 @@ hadrian-ghc-in-ghci: - if [[ -d ./cabal-cache ]]; then cp -R ./.cabal-cache ~/.cabal-cache; fi - ./boot - ./configure $CONFIGURE_ARGS # Load ghc-in-ghci then immediately exit - echo ":q" | hadrian/ghci.sh # Load ghc-in-ghci then immediately exit and check the modules loaded - echo ":q" | hadrian/ghci.sh | tail -n2 | grep "Ok," cache: key: hadrian-ghci paths: ... ...  ... ... @@ -10,10 +10,10 @@ Please take a few moments to verify that your commits fulfill the following: likely should add a [Note][notes] and cross-reference it from the relevant places. * [ ] add a [testcase to the testsuite](https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding). testsuite](https://gitlab.haskell.org/ghc/ghc/wikis/building/running-tests/adding). If you have any questions don't hesitate to open your merge request and inquire in a comment. If your patch isn't quite done yet please do add prefix your MR title with WIP:. [notes]: https://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Commentsinthesourcecode [notes]: https://gitlab.haskell.org/ghc/ghc/wikis/commentary/coding-style#comments-in-the-source-code  ... ... @@ -241,7 +241,7 @@ Peter Wortmann Peter Wortmann scpmw@leeds.ac.uk Piyush P. Kurur Ralf Laemmel ralf # https://ghc.haskell.org/trac/ghc/wiki/TeamGHC Ralf Laemmel ralf # https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc Ravi Nanavati # Commit 70c044. Reiner Pope Reuben Thomas rrt ... ... @@ -293,7 +293,7 @@ Spencer Janssen Stephen Blackheath Stephen Blackheath Sungwoo Park gla # https://ghc.haskell.org/trac/ghc/wiki/TeamGHC Sungwoo Park gla # https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc Sven Panne panne Sven Panne sven.panne@aedion.de Sylvain Henry ... ...  ... ... @@ -88,12 +88,12 @@ Supported Platforms The list of platforms we support, and the people responsible for them, is here: https://ghc.haskell.org/trac/ghc/wiki/TeamGHC https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform: https://ghc.haskell.org/trac/ghc/wiki/Building https://gitlab.haskell.org/ghc/ghc/wikis/building Developers ... ...  ... ... @@ -17,7 +17,7 @@ From here, you can file bugs (or look them up,) use the wiki, view the page, which has the high level overview of the build process and how to get the source: Contributing patches to GHC in a hurry ====================================== ... ... @@ -25,7 +25,7 @@ Contributing patches to GHC in a hurry Make sure your system has the necessary tools to compile GHC. You can find an overview here: Next, clone the repository and all the associated libraries: ... ... @@ -64,9 +64,9 @@ Now, hack on your copy and rebuild (with make) as necessary. Then start by making your commits however you want. When you're done, you can submit a pull request on Github for small changes. For larger changes the patch needs to be submitted to [Phabricator](https://phabricator.haskell.org/) for code review. The GHC Wiki has a good summary for the [overall process](https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/FixingBugs) The GHC Wiki has a good summary for the [overall process](https://gitlab.haskell.org/ghc/ghc/wikis/working-conventions/fixing-bugs) as well as a guide on [how to use Phabricator/arcanist](https://ghc.haskell.org/trac/ghc/wiki/Phabricator). [how to use Phabricator/arcanist](https://gitlab.haskell.org/ghc/ghc/wikis/phabricator). Useful links: ... ... @@ -75,22 +75,22 @@ Useful links: An overview of things like using git, the release process, filing bugs and more can be located here: You can find our coding conventions for the compiler and RTS here: A high level overview of the bug tracker: If you're going to contribute regularly, **learning how to use the build system is important** and will save you lots of time. You should read over this page carefully: How to communicate with us ========================== ... ...  ... ... @@ -44,5 +44,5 @@ References ========== [1] http://www.haskell.org/ghc/ [2] http://ghc.haskell.org/trac/ghc/wiki/Building/Preparation [2] https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation [3] http://www.haskell.org/haddock/  ... ... @@ -3,9 +3,9 @@ Quick make guide for GHC For a "Getting Started" guide, see: https://ghc.haskell.org/trac/ghc/wiki/Building/QuickStart https://ghc.haskell.org/trac/ghc/wiki/Building/Using https://ghc.haskell.org/trac/ghc/wiki/Building/StandardTargets https://gitlab.haskell.org/ghc/ghc/wikis/building/quick-start https://gitlab.haskell.org/ghc/ghc/wikis/building/using https://gitlab.haskell.org/ghc/ghc/wikis/building/standard-targets Common commands: ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -31,7 +31,7 @@ There are two ways to get a source tree: Note: cloning GHC from Github requires a special setup. See [Getting a GHC repository from Github][7]. *See the GHC team's working conventions regarding [how to contribute a patch to GHC](http://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/FixingBugs).* First time contributors are encouraged to get started by just sending a Pull Request. *See the GHC team's working conventions regarding [how to contribute a patch to GHC](https://gitlab.haskell.org/ghc/ghc/wikis/working-conventions/fixing-bugs).* First time contributors are encouraged to get started by just sending a Pull Request. Building & Installing ... ... @@ -109,19 +109,19 @@ you to join! [1]: http://www.haskell.org/ghc/ "www.haskell.org/ghc/" [2]: http://ghc.haskell.org/trac/ghc "ghc.haskell.org/trac/ghc" [3]: http://ghc.haskell.org/trac/ghc/wiki/Building "ghc.haskell.org/trac/ghc/wiki/Building" [3]: https://gitlab.haskell.org/ghc/ghc/wikis/building "https://gitlab.haskell.org/ghc/ghc/wikis/building" [4]: http://www.haskell.org/happy/ "www.haskell.org/happy/" [5]: http://www.haskell.org/alex/ "www.haskell.org/alex/" [6]: http://www.haskell.org/haddock/ "www.haskell.org/haddock/" [7]: https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub "https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub" [8]: http://ghc.haskell.org/trac/ghc/wiki/Building/Preparation "http://ghc.haskell.org/trac/ghc/wiki/Building/Preparation" [7]: https://gitlab.haskell.org/ghc/ghc/wikis/building/getting-the-sources#cloning-from-github "https://gitlab.haskell.org/ghc/ghc/wikis/building/getting-the-sources#cloning-from-github" [8]: https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation "https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation" [9]: http://www.haskell.org/cabal/ "http://www.haskell.org/cabal/" [10]: https://gitlab.haskell.org/ghc/ghc/issues "https://gitlab.haskell.org/ghc/ghc/issues" [11]: http://www.haskell.org/pipermail/glasgow-haskell-users/ "http://www.haskell.org/pipermail/glasgow-haskell-users/" [12]: http://ghc.haskell.org/trac/ghc/wiki/TeamGHC "http://ghc.haskell.org/trac/ghc/wiki/TeamGHC" [12]: https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc "https://gitlab.haskell.org/ghc/ghc/wikis/team-ghc"  ... ... @@ -905,7 +905,7 @@ dnl 2. Find happy in path dnl 3. Check happy version dnl dnl If you increase the minimum version requirement, please also update: dnl https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Tools dnl https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/tools dnl AC_DEFUN([FPTOOLS_HAPPY], [AC_PATH_PROG(HAPPY,[happy],) ... ... @@ -938,7 +938,7 @@ dnl 2. Find alex in path dnl 3. Check alex version dnl dnl If you increase the minimum version requirement, please also update: dnl https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Tools dnl https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/tools dnl AC_DEFUN([FPTOOLS_ALEX], [AC_PATH_PROG(ALEX,[alex],) ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -53,8 +53,8 @@ def check_for_url_rewrites(): git clone --recursive git://git.haskell.org/ghc.git For more information, see: * https://ghc.haskell.org/trac/ghc/wiki/Newcomers or * https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#CloningfromGitHub * https://gitlab.haskell.org/ghc/ghc/wikis/newcomers or * https://gitlab.haskell.org/ghc/ghc/wikis/building/getting-the-sources#cloning-from-github """) def check_boot_packages(): ... ... @@ -186,7 +186,7 @@ def check_build_mk(): than simply building it to use it. For information on creating a mk/build.mk file, please see: http://ghc.haskell.org/trac/ghc/wiki/Building/Using#Buildconfiguration https://gitlab.haskell.org/ghc/ghc/wikis/building/using#build-configuration """)) check_for_url_rewrites() ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -1571,7 +1571,7 @@ It is only effective if the one-shot info survives as long as possible; in particular it must make it into the interface in unfoldings. See Note [Preserve OneShotInfo] in CoreTidy. Also see https://ghc.haskell.org/trac/ghc/wiki/OneShot. Also see https://gitlab.haskell.org/ghc/ghc/wikis/one-shot. Note [magicDictId magic] ... ...  ... ... @@ -177,7 +177,7 @@ import {-# SOURCE #-} Packages (componentIdString, improveUnitId, PackageConfigM -- Unit IDs, installed package IDs, ABI hashes, package names, -- versions, there are a *lot* of different identifiers for closely -- related things. What do they all mean? Here's what. (See also -- https://ghc.haskell.org/trac/ghc/wiki/Commentary/Packages/Concepts ) -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/packages/concepts ) -- -- THE IMPORTANT ONES -- ... ...  ... ... @@ -1216,7 +1216,7 @@ bestImport iss {- Note [Choosing the best import declaration] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When reporting unused import declarations we use the following rules. (see [wiki:Commentary/Compiler/UnusedImports]) (see [wiki:commentary/compiler/unused-imports]) Say that an import-item is either * an entire import-all decl (eg import Foo), or ... ...  ... ... @@ -223,11 +223,11 @@ use deriving' because we want {\em precise} control of ordering -- -- As such, to get deterministic builds, the order of the allocated -- @Uniques@ should not affect the final result. -- see also wiki/DeterministicBuilds -- see also wiki/deterministic-builds -- -- Note [Unique Determinism and code generation] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- The goal of the deterministic builds (wiki/DeterministicBuilds, #4012) -- The goal of the deterministic builds (wiki/deterministic-builds, #4012) -- is to get ABI compatible binaries given the same inputs and environment. -- The motivation behind that is that if the ABI doesn't change the -- binaries can be safely reused. ... ...  ... ... @@ -760,7 +760,7 @@ hasCAF _ = False -- ----------------------------------------------------------------------------- -- Does a CLabel need declaring before use or not? -- -- See wiki:Commentary/Compiler/Backends/PprC#Prototypes -- See wiki:commentary/compiler/backends/ppr-c#prototypes needsCDecl :: CLabel -> Bool -- False <=> it's pre-declared; don't bother ... ...  ... ... @@ -8,7 +8,7 @@ -- -- Print Cmm as real C, for -fvia-C -- -- See wiki:Commentary/Compiler/Backends/PprC -- See wiki:commentary/compiler/backends/ppr-c -- -- This is simpler than the old PprAbsC, because Cmm is "macro-expanded" -- relative to the old AbstractC, and many oddities/decorations have ... ... @@ -240,7 +240,7 @@ pprStmt stmt = cast_fn = parens (cCast (pprCFunType (char '*') cconv hresults hargs) fn) -- See wiki:Commentary/Compiler/Backends/PprC#Prototypes -- See wiki:commentary/compiler/backends/ppr-c#prototypes fnCall = case fn of CmmLit (CmmLabel lbl) ... ...  ... ... @@ -65,9 +65,9 @@ Things to do: - See "CAFs" below; we want to totally refactor the way SRTs are calculated - Garbage-collect http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CPS - Garbage-collect https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/cps moving good stuff into http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/NewCodeGenPipeline https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/new-code-gen-pipeline - Currently AsmCodeGen top level calls AsmCodeGen.cmmToCmm, which is a small C-- optimiser. It has quite a lot of boilerplate folding code in AsmCodeGen ... ...  ... ... @@ -11,7 +11,7 @@ {- OVERVIEW: ticky ticky profiling Please see http://ghc.haskell.org/trac/ghc/wiki/Debugging/TickyTicky and also https://gitlab.haskell.org/ghc/ghc/wikis/debugging/ticky-ticky and also edit it and the rest of this comment to keep them up-to-date if you change ticky-ticky. Thanks! ... ...  ... ... @@ -159,7 +159,7 @@ find an occurrence of an Id, we fetch it from the in-scope set. Note [Bad unsafe coercion] ~~~~~~~~~~~~~~~~~~~~~~~~~~ For discussion see https://ghc.haskell.org/trac/ghc/wiki/BadUnsafeCoercions For discussion see https://gitlab.haskell.org/ghc/ghc/wikis/bad-unsafe-coercions Linter introduces additional rules that checks improper coercion between different types, called bad coercions. Following coercions are forbidden: ... ...  ... ... @@ -280,7 +280,7 @@ instance Monoid PartialResult where -- More details about the classification of clauses into useful, redundant -- and with inaccessible right hand side can be found here: -- -- https://ghc.haskell.org/trac/ghc/wiki/PatternMatchCheck -- https://gitlab.haskell.org/ghc/ghc/wikis/pattern-match-check -- data PmResult = PmResult { ... ...  ... ... @@ -530,7 +530,7 @@ thought! Note [Desugar Strict binds] ~~~~~~~~~~~~~~~~~~~~~~~~~~~ See https://ghc.haskell.org/trac/ghc/wiki/StrictPragma See https://gitlab.haskell.org/ghc/ghc/wikis/strict-pragma Desugaring strict variable bindings looks as follows (core below ==>) ... ... @@ -598,7 +598,7 @@ tuple t, thus: in tm seq See https://ghc.haskell.org/trac/ghc/wiki/StrictPragma for a more See https://gitlab.haskell.org/ghc/ghc/wikis/strict-pragma for a more detailed explanation of the desugaring of strict bindings. Note [Strict binds checks] ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -117,7 +117,7 @@ use a different "way", e.g. profiled or dynamic. This means taking the performance hit on the compiler that profiling would entail. For other reasons see RemoteGHCi on the wiki. For other reasons see remote-GHCi on the wiki. Implementation Overview ~~~~~~~~~~~~~~~~~~~~~~~ ... ... @@ -152,7 +152,7 @@ message if it is used with -fexternal-interpreter. Other Notes on Remote GHCi ~~~~~~~~~~~~~~~~~~~~~~~~~~ * This wiki page has an implementation overview: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/ExternalInterpreter https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/external-interpreter * Note [External GHCi pointers] in compiler/ghci/GHCi.hs * Note [Remote Template Haskell] in libraries/ghci/GHCi/TH.hs -} ... ...  ... ... @@ -784,7 +784,7 @@ pprTyClDeclFlavour (XTyClDecl x) = ppr x We kind-check declarations differently if they have a complete, user-supplied kind signature (CUSK). This is because we can safely generalise a CUSKed declaration before checking all of the others, supporting polymorphic recursion. See ghc.haskell.org/trac/ghc/wiki/GhcKinds/KindInference#Proposednewstrategy See https://gitlab.haskell.org/ghc/ghc/wikis/ghc-kinds/kind-inference#proposed-new-strategy and #9200 for lots of discussion of how we got here. PRINCIPLE: ... ...  ... ... @@ -32,7 +32,7 @@ import Data.Kind Note [Trees that grow] ~~~~~~~~~~~~~~~~~~~~~~ See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow See https://gitlab.haskell.org/ghc/ghc/wikis/implementing-trees-that-grow The hsSyn AST is reused across multiple compiler passes. We also have the Template Haskell AST, and the haskell-src-exts one (outside of GHC) ... ...  ... ... @@ -377,7 +377,7 @@ data IfaceIdDetails {- Note [Versioning of instances] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ See [http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance#Instances] See [https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance#instances] ************************************************************************ ... ...  ... ... @@ -34,7 +34,7 @@ module MkIface ( A complete description of how recompilation checking works can be found in the wiki commentary: http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance Please read the above page for a top-down description of how this all works. Notes below cover specific issues related to the implementation. ... ... @@ -645,7 +645,7 @@ addFingerprints hsc_env mb_old_fingerprint iface0 new_decls -- See Note [Export hash depends on non-orphan family instances] dep_finsts (mi_deps iface0), -- dep_pkgs: see "Package Version Changes" on -- wiki/Commentary/Compiler/RecompilationAvoidance -- wiki/commentary/compiler/recompilation-avoidance mi_trust iface0) -- Make sure change of Safe Haskell mode causes recomp. ... ...  ... ... @@ -1630,7 +1630,7 @@ tcIfaceGlobal name -- -- There is also a wiki page on the subject, see: -- -- https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/TyingTheKnot -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/tying-the-knot -- Note [Knot-tying fallback on boot] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... ...  ... ... @@ -322,7 +322,7 @@ import Foreign (Ptr) -- needed for 2nd stage -- * Adding the flag to the GHC Wiki -- -- There is a change log tracking language extension additions and removals -- on the GHC wiki: https://ghc.haskell.org/trac/ghc/wiki/LanguagePragmaHistory -- on the GHC wiki: https://gitlab.haskell.org/ghc/ghc/wikis/language-pragma-history -- -- See #4437 and #8176. ... ... @@ -5549,7 +5549,7 @@ picCCOpts dflags = pieOpts ++ picOpts -- otherwise things like stub.c files don't get compiled -- correctly. They need to reference data in the Haskell -- objects, but can't without -fPIC. See -- http://ghc.haskell.org/trac/ghc/wiki/Commentary/PositionIndependentCode -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/position-independent-code | gopt Opt_PIC dflags || WayDyn elem ways dflags -> ["-fPIC", "-U__PIC__", "-D__PIC__"] -- gcc may be configured to have PIC on by default, let's be ... ...  ... ... @@ -2404,7 +2404,7 @@ noDependencies :: Dependencies noDependencies = Deps [] [] [] [] [] -- | Records modules for which changes may force recompilation of this module -- See wiki: http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance -- See wiki: https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance -- -- This differs from Dependencies. A module X may be in the dep_mods of this -- module (via an import chain) but if we don't use anything from X it won't ... ...  ... ... @@ -120,7 +120,7 @@ data Plugin = Plugin { -- is supported by most build environment. -- -- For the full discussion, check the full proposal at: -- https://ghc.haskell.org/trac/ghc/wiki/ExtendedPluginsProposal -- https://gitlab.haskell.org/ghc/ghc/wikis/extended-plugins-proposal data PluginWithArgs = PluginWithArgs { paPlugin :: Plugin ... ...  ... ... @@ -234,8 +234,8 @@ Plan B: include pragmas, make interfaces Note [Choosing external Ids] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ See also the section "Interface stability" in the RecompilationAvoidance commentary: http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance recompilation-avoidance commentary: https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance First we figure out which Ids are "external" Ids. An "external" Id is one that is visible from outside the compilation ... ...  ... ... @@ -52,7 +52,7 @@ import qualified Data.Set as Set ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For additional information also look at https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CodeLayout https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/code-layout We have a CFG with edge weights based on which we try to place blocks next to each other. ... ...  ... ... @@ -212,7 +212,7 @@ pprLabelType' dflags lbl = " A good place to check for more https://ghc.haskell.org/trac/ghc/wiki/Commentary/PositionIndependentCode https://gitlab.haskell.org/ghc/ghc/wikis/commentary/position-independent-code Another possible hack is to create an extra local function symbol for every code-like thing to give the needed information for to the tools ... ...  ... ... @@ -125,7 +125,7 @@ until later. 'allocateComments' in 'Lexer' is responsible for making sure we only attach comments that actually fit in the 'SrcSpan'.) The wiki page describing this feature is https://ghc.haskell.org/trac/ghc/wiki/ApiAnnotations https://gitlab.haskell.org/ghc/ghc/wikis/api-annotations -} -- --------------------------------------------------------------------- ... ... @@ -188,7 +188,7 @@ getAndRemoveAnnotationComments (anns,canns) span = -- @'DynFlags.DynFlags'@ before parsing. -- -- The wiki page describing this feature is -- https://ghc.haskell.org/trac/ghc/wiki/ApiAnnotations -- https://gitlab.haskell.org/ghc/ghc/wikis/api-annotations -- -- Note: in general the names of these are taken from the -- corresponding token, unless otherwise noted ... ...  ... ... @@ -13,7 +13,7 @@ -- References: -- [1] https://www.haskell.org/onlinereport/haskell2010/haskellch2.html -- [2] http://www.haskell.org/alex/ -- [3] https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Parser -- [3] https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/parser -- ----------------------------------------------------------------------------- ... ...  ... ... @@ -394,8 +394,8 @@ structured editors. The helper functions are defined at the bottom of this file. See https://ghc.haskell.org/trac/ghc/wiki/ApiAnnotations and https://ghc.haskell.org/trac/ghc/wiki/GhcAstAnnotations https://gitlab.haskell.org/ghc/ghc/wikis/api-annotations and https://gitlab.haskell.org/ghc/ghc/wikis/ghc-ast-annotations for some background. If you modify the parser and want to ensure that the API annotations are processed ... ...  ... ... @@ -5,7 +5,7 @@ -- Primitive Operations and Types -- -- For more information on PrimOps, see -- http://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/prim-ops -- ----------------------------------------------------------------------- ... ... @@ -18,7 +18,7 @@ -- Information on how PrimOps are implemented and the steps necessary to -- add a new one can be found in the Commentary: -- -- http://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/prim-ops -- -- Note in particular that Haskell block-style comments are not recognized -- here, so stick to '--' (even for Notes spanning multiple lines). ... ...  ... ... @@ -1303,7 +1303,7 @@ warnMissingSignatures gbl_env This code finds which import declarations are unused. The specification and implementation notes are here: http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/UnusedImports https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/unused-imports See also Note [Choosing the best import declaration] in RdrName -} ... ...  ... ... @@ -525,7 +525,7 @@ global environment and exposes the current local environment to them [4, 5, 6]. References: [1] https://ghc.haskell.org/trac/ghc/wiki/TemplateHaskell/Reify [1] https://gitlab.haskell.org/ghc/ghc/wikis/template-haskell/reify [2] 'rnSpliceExpr' [3] 'TcSplice.qAddModFinalizer' [4] 'TcExpr.tcExpr' ('HsSpliceE' ('HsSpliced' ...)) ... ...  ... ... @@ -17,7 +17,7 @@ import qualified StgLiftLams.Transformation as Transformation -- Note [Late lambda lifting in STG] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --$note -- See also the -- See also the -- and #9476. -- -- The basic idea behind lambda lifting is to turn locally defined functions ... ...
 ... ... @@ -81,7 +81,7 @@ import Data.Maybe ( mapMaybe ) -- "StgLiftLams.Analysis#clogro" and is what most of this module is ultimately -- concerned with. -- -- There's a with -- There's a with -- some more background and history. -- Note [Estimating closure growth] ... ... @@ -102,7 +102,7 @@ import Data.Maybe ( mapMaybe ) -- -- A more detailed treatment of computing closure growth, including examples, -- can be found in the paper referenced from the -- . -- . llTrace :: String -> SDoc -> a -> a llTrace _ _ c = c ... ...
 ... ... @@ -115,7 +115,7 @@ import Control.Monad (liftM, ap) -- bitmap in each info table describing which entries of this table the closure -- references. -- -- See also: Commentary/Rts/Storage/GC/CAFs on the GHC Wiki. -- See also: commentary/rts/storage/gc/CAFs on the GHC Wiki. -- Note [What is a non-escaping let] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... ...
 ... ... @@ -670,7 +670,7 @@ This quantified constraint is needed to solve the constraint which arises form the (==) definition. The wiki page is https://ghc.haskell.org/trac/ghc/wiki/QuantifiedConstraints https://gitlab.haskell.org/ghc/ghc/wikis/quantified-constraints which in turn contains a link to the GHC Proposal where the change is specified, and a Haskell Symposium paper about it. ... ...
 ... ... @@ -2064,7 +2064,7 @@ GHC has a notion of deriving strategies, which allow the user to explicitly request which approach to use when deriving an instance (enabled with the -XDerivingStrategies language extension). For more information, refer to the original issue (#10598) or the associated wiki page: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/deriving-strategies A deriving strategy can be specified in a deriving clause: ... ... @@ -2105,7 +2105,7 @@ instances instead of "reusing" old instances (by way of coerce). If an explicit deriving strategy is not given, GHC has an algorithm it uses to determine which strategy it will actually use. The algorithm is quite long, so it lives in the Haskell wiki at https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/deriving-strategies ("The deriving strategy resolution algorithm" section). Internally, GHC uses the DerivStrategy datatype to denote a user-requested ... ...
 ... ... @@ -655,7 +655,7 @@ Conclusion: a new wanted coercion variable should be made mutable. Note [Overview of implicit CallStacks] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (See https://ghc.haskell.org/trac/ghc/wiki/ExplicitCallStack/ImplicitLocations) (See https://gitlab.haskell.org/ghc/ghc/wikis/explicit-call-stack/implicit-locations) The goal of CallStack evidence terms is to reify locations in the program source as runtime values, without any support ... ...
 ... ... @@ -1052,7 +1052,7 @@ that is syntactically equivalent to the last type parameter, so only E1's argument will be folded over in a derived Foldable instance. See #10447 for the original discussion on this feature. Also see https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DeriveFunctor https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/derive-functor for a more in-depth explanation. Note [FFoldType and functorLikeTraverse] ... ...
 ... ... @@ -890,7 +890,7 @@ mark it. As a result, before we can generate K1 or unK1, we must first check to see if the type is actually one of the unlifted types for which URec has a data family instance; if so, we generate that instead. See wiki:Commentary/Compiler/GenericDeriving#Handlingunliftedtypes for more See wiki:commentary/compiler/generic-deriving#handling-unlifted-types for more details on why URec is implemented the way it is. Note [Generating a correctly typed Rep instance] ... ...
 ... ... @@ -383,7 +383,7 @@ holes should By defining ExpType, separately from Type, we can achieve goals 1 and 2 statically. See also [wiki:Typechecking] See also [wiki:typechecking] Note [TcLevel of ExpType] ~~~~~~~~~~~~~~~~~~~~~~~~~ ... ... @@ -2200,7 +2200,7 @@ See Note [Levity polymorphism checking] in DsMonad -} -- | According to the rules around representation polymorphism -- (see https://ghc.haskell.org/trac/ghc/wiki/NoSubKinds), no binder -- (see https://gitlab.haskell.org/ghc/ghc/wikis/no-sub-kinds), no binder -- can have a representation-polymorphic type. This check ensures -- that we respect this rule. It is a bit regrettable that this error -- occurs in zonking, after which we should have reported all errors. ... ...
 ... ... @@ -4,7 +4,7 @@ \section[TcRnDriver]{Typechecking a whole module} https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/TypeChecker https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/type-checker -} {-# LANGUAGE CPP #-} ... ...
 ... ... @@ -3768,7 +3768,7 @@ pprCtOrigin (Shouldn'tHappenOrigin note) else vcat [ text "<< This should not appear in error messages. If you see this" , text "in an error message, please report a bug mentioning" <+> quotes (text note) <+> text "at" , text "https://ghc.haskell.org/trac/ghc/wiki/ReportABug >>" ] , text "https://gitlab.haskell.org/ghc/ghc/wikis/report-a-bug >>" ] pprCtOrigin (ProvCtxtOrigin PSB{ psb_id = (L _ name) }) = hang (ctoHerald <+> text "the \"provided\" constraints claimed by") ... ...
 ... ... @@ -1437,7 +1437,7 @@ Note [Roles] ~~~~~~~~~~~~ Roles are a solution to the GeneralizedNewtypeDeriving problem, articulated in #1496. The full story is in docs/core-spec/core-spec.pdf. Also, see http://ghc.haskell.org/trac/ghc/wiki/RolesImplementation https://gitlab.haskell.org/ghc/ghc/wikis/roles-implementation Here is one way to phrase the problem: ... ...
 ... ... @@ -6,7 +6,7 @@ -- -- Fingerprints for recompilation checking and ABI versioning. -- -- http://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance -- https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/recompilation-avoidance -- -- ---------------------------------------------------------------------------- ... ...
 ... ... @@ -1379,5 +1379,5 @@ To make changes to the default build configuration, copy the file mk/build.mk.sample to mk/build.mk, and edit the settings in there. For more information on how to configure your GHC build, see http://ghc.haskell.org/trac/ghc/wiki/Building https://gitlab.haskell.org/ghc/ghc/wikis/building "]
 ... ... @@ -83,7 +83,7 @@ Hello, You are receiving this mail because you are the reporter, or on the CC list, for one or more GHC tickets that are automatically having their priority reduced due to our post-release ticket handling policy: http://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/BugTracker#Remilestoningticketsafterarelease https://gitlab.haskell.org/ghc/ghc/wikis/working-conventions/bug-tracker#re-milestoning-tickets-after-a-release The list of tickets for which you are the reporter or on the CC list is given below. If any of these are causing problems for you, please let us ... ...
 ... ... @@ -235,7 +235,7 @@ and a provenance. The provenance states what created the universal coercion: Roles label what equality relation a coercion is a witness of. Nominal equality means that two types are identical (have the same name); representational equality means that two types have the same representation (introduced by newtypes); and phantom equality includes all types. See \url{http://ghc.haskell.org/trac/ghc/wiki/Roles} and \url{http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/coercible.pdf} phantom equality includes all types. See \url{https://gitlab.haskell.org/ghc/ghc/wikis/roles} and \url{http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/coercible.pdf} for more background. \gram{\ottR} ... ... @@ -297,7 +297,7 @@ In \ottdrulename{Co\_UnivCo}, function $\textsf{compatibleUnBoxedTys}$ stands appropriate element of the target tuple; \end{itemize} For function implementation see \coderef{coreSyn/CoreLint.hs}{checkTypes}. For further discussion see \url{https://ghc.haskell.org/trac/ghc/wiki/BadUnsafeCoercions}. For further discussion see \url{https://gitlab.haskell.org/ghc/ghc/wikis/bad-unsafe-coercions}. \subsection{Type constructors} ... ...
 ... ... @@ -10358,6 +10358,24 @@ function that can *never* be called, such as this one: :: f :: (Int ~ Bool) => a -> a Sometimes :extension:AllowAmbiguousTypes does not mix well with :extension:RankNTypes. For example: :: foo :: forall r. (forall i. (KnownNat i) => r) -> r foo f = f @1 boo :: forall j. (KnownNat j) => Int boo = .... h :: Int h = foo boo This program will be rejected as ambiguous because GHC will not unify the type variables j and i. Unlike the previous examples, it is not currently possible to resolve the ambiguity manually by using :extension:TypeApplications. .. note:: *A historical note.* GHC used to impose some more restrictive and less principled conditions on type signatures. For type ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ... @@ -40,7 +40,7 @@ # # The actual build order is defined by dependencies, and the phase # ordering used to ensure correct ordering of makefile-generation; see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture/idiom/phase-ordering # # * With bootstrapping compiler: # o Build utils/ghc-cabal ... ... @@ -97,7 +97,7 @@ endif ifeq "$(MAKE_RESTARTS)" "" else ifeq "$(MAKE_RESTARTS)" "1" else $(error Make has restarted itself$(MAKE_RESTARTS) times; is there a makefile bug? See http://ghc.haskell.org/trac/ghc/wiki/Building/Troubleshooting#Makehasrestarteditself3timesisthereamakefilebug for details) $(error Make has restarted itself$(MAKE_RESTARTS) times; is there a makefile bug? See https://gitlab.haskell.org/ghc/ghc/wikis/building/troubleshooting#make-has-restarted-itself-3-times-is-there-a-makefile-bug for details) endif # ----------------------------------------------------------------------------- ... ... @@ -175,7 +175,7 @@ ifeq "$(SPHINXBUILD)" ""$(error BUILD_SPHINX_HTML=YES, but sphinx-build was not found. \ Create a file mk/validate.mk containing BUILD_SPHINX_HTML=NO \ (when validating), or install sphinx-build and rerun ./configure. \ See https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation) See https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation) endif endif ... ... @@ -183,7 +183,7 @@ ifeq "$(BUILD_SPHINX_PDF)" "YES" ifeq "$(XELATEX)" "" $(error BUILD_SPHINX_PDF=YES, but xelatex was not found. \ Install xelatex, then rerun ./configure. \ See https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation) See https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation) endif endif ... ... @@ -191,7 +191,7 @@ ifeq "$(HSCOLOUR_SRCS)" "YES" ifeq "$(HSCOLOUR_CMD)" ""$(error HSCOLOUR_SRCS=YES, but HSCOLOUR_CMD is empty. \ Run cabal install hscolour, then rerun ./configure. \ See https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation) See https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation) endif endif ... ... @@ -1434,7 +1434,7 @@ maintainer-clean : distclean .PHONY: all_libraries .PHONY: bootstrapping-files # See https://ghc.haskell.org/trac/ghc/wiki/Building/Porting # See https://gitlab.haskell.org/ghc/ghc/wikis/building/porting bootstrapping-files: $(includes_H_CONFIG) bootstrapping-files:$(includes_DERIVEDCONSTANTS) bootstrapping-files: $(includes_GHCCONSTANTS) ... ... @@ -1503,7 +1503,7 @@ endif # [2] # find utils -name package-data.mk | xargs grep -l 'DEP_NAMES =.* ghc$$\|$$' # # [3] https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling # [3] https://gitlab.haskell.org/ghc/ghc/wikis/building/cross-compiling # # [4] * bc31dbe8ee22819054df60f5ef219fed393a1c54 # "Disable any packages built with stage 2 when cross-compiling ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...  ... ... @@ -168,6 +168,9 @@ typechecked so it isn't possible to run any functions in the repl. ./hadrian/ghci.sh  If build.stack.sh is used to build GHC, ./hadrian/ghci.stack.sh should be used to launch a ghci session and load GHC. You can also use this target with ghcid.  ... ... @@ -291,11 +294,11 @@ projects), as well as Well-Typed. [ghc]: https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler [shake]: https://github.com/ndmitchell/shake [make]: https://ghc.haskell.org/trac/ghc/wiki/Building/Architecture [make]: https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture [talk]: https://skillsmatter.com/skillscasts/8722-meet-hadrian-a-new-build-system-for-ghc [issues]: https://github.com/snowleopard/hadrian/issues [ghc-preparation]: https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation [ghc-windows-quick-build]: https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows#AQuickBuild [ghc-preparation]: https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation [ghc-windows-quick-build]: https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/windows#AQuickBuild [windows-build]: https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/windows.md [test-issue]: https://github.com/snowleopard/hadrian/issues/197 [validation-issue]: https://github.com/snowleopard/hadrian/issues/187 ... ...  ... ... @@ -33,7 +33,7 @@ without optimisations. If you need an optimised GHC, drop the --flavour=quickes flag from the build command line (this will slow down the build to about an hour). These are currently not the [official GHC building instructions](https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows), [official GHC building instructions](https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/windows), but are much simpler and may also be more robust. The stack build and stack exec hadrian commands can be replaced by an ... ...  #!/usr/bin/env bash set -e GHC_FLAGS=$(TERM=dumb CABFLAGS=-v0 . "hadrian/build.cabal.sh" tool-args -q --build-root=.hadrian_ghci --flavour=ghc-in-ghci "$@") ghci$GHC_FLAGS -fno-code -fwrite-interface -hidir=.hadrian_ghci/interface -O0 ghc/Main.hs
 #!/usr/bin/env bash ghci $(TERM=dumb CABFLAGS=-v0 . "hadrian/build.cabal.sh" tool-args -q --build-root=.hadrian_ghci --flavour=ghc-in-ghci "$@") -fno-code -fwrite-interface -hidir=.hadrian_ghci/interface -O0 ghc/Main.hs # By default on Linux/MacOS we build Hadrian using Cabal (. "hadrian/build.cabal.sh" "$@")  #!/usr/bin/env bash set -e GHC_FLAGS=$(TERM=dumb CABFLAGS=-v0 . "hadrian/build.stack.sh" tool-args -q --build-root=.hadrian_ghci --flavour=ghc-in-ghci "$@") stack exec -- ghci$GHC_FLAGS -fno-code -fwrite-interface -hidir=.hadrian_ghci/interface -O0 ghc/Main.hs
 ... ... @@ -189,7 +189,7 @@ ghcWithInterpreter = do return $goodOs && goodArch -- | Check whether the target architecture supports placing info tables next to -- code. See: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects#TABLES_NEXT_TO_CODE. -- code. See: https://gitlab.haskell.org/ghc/ghc/wikis/commentary/rts/storage/heap-objects#tables_next_to_code. ghcEnableTablesNextToCode :: Action Bool ghcEnableTablesNextToCode = notM$ anyTargetArch ["ia64", "powerpc64", "powerpc64le"] ... ...
 ... ... @@ -266,7 +266,7 @@ rtsPackageArgs = package rts ? do -- The above warning suppression flags are a temporary kludge. -- While working on this module you are encouraged to remove it and fix -- any warnings in the module. See: -- http://ghc.haskell.org/trac/ghc/wiki/WorkingConventions#Warnings -- https://gitlab.haskell.org/ghc/ghc/wikis/working-conventions#Warnings , (not <\$> flag GccIsClang) ? inputs ["//Compact.c"] ? arg "-finline-limit=2500" ... ...
 ... ... @@ -73,7 +73,7 @@ /* * The RTS must sometimes UNTAG a pointer before dereferencing it. * See the wiki page Commentary/Rts/HaskellExecution/PointerTagging * See the wiki page commentary/rts/haskell-execution/pointer-tagging */ #define TAG_MASK ((1 << TAG_BITS) - 1) #define UNTAG(p) (p & ~TAG_MASK) ... ...
 ... ... @@ -9,7 +9,7 @@ * NB: THIS FILE IS INCLUDED IN HASKELL SOURCE! * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -6,7 +6,7 @@ * exposes externally. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -5,7 +5,7 @@ * API for invoking Haskell functions via the RTS * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * --------------------------------------------------------------------------*/ ... ...
 ... ... @@ -19,7 +19,7 @@ * "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -5,8 +5,8 @@ # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture # http://ghc.haskell.org/trac/ghc/wiki/Building/Modifying # https://gitlab.haskell.org/ghc/ghc/wikis/building/architecture # https://gitlab.haskell.org/ghc/ghc/wikis/building/modifying # # ----------------------------------------------------------------------------- ... ...
 ... ... @@ -7,7 +7,7 @@ * Do not #include this file directly: #include "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * -------------------------------------------------------------------------- */ ... ...
 ... ... @@ -7,7 +7,7 @@ * Do not #include this file directly: #include "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -9,7 +9,7 @@ * NB: THIS FILE IS INCLUDED IN NON-C CODE AND DATA! #defines only please. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -13,7 +13,7 @@ * DerivedConstants.h by a C program (mkDerivedConstantsHdr). * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * -------------------------------------------------------------------------- */ ... ...
 ... ... @@ -7,7 +7,7 @@ * Do not #include this file directly: #include "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -7,7 +7,7 @@ * Do not #include this file directly: #include "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes * * ---------------------------------------------------------------------------*/ ... ...
 ... ... @@ -7,7 +7,7 @@ * Do not #include this file directly: #include "Rts.h" instead. * * To understand the structure of the RTS headers, see the wiki: * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes