- 14 Oct, 2020 1 commit
-
-
Ben Gamari authored
As noted in #18726, this regularly breaks. Let's test it. Note that we don't actually perform a build of GHC itself; we merely test that the Hadrian executable builds and works (by invoking `hadrian --version`).
-
- 13 Oct, 2020 3 commits
-
-
Rinat Striungis authored
This commit removes the separate kind 'Nat' and enables promotion of type 'Natural' for using as type literal. It partially solves #10776 Now the following code will be successfully typechecked: data C = MkC Natural type CC = MkC 1 Before this change we had to create the separate type for promotion data C = MkC Natural data CP = MkCP Nat type CC = MkCP 1 But CP is uninhabited in terms. For backward compatibility type synonym `Nat` has been made: type Nat = Natural The user's documentation and tests have been updated. The haddock submodule also have been updated.
-
Sylvain Henry authored
The HomeUnitId is only used by the Cmm parser and this one has access to the DynFlags, so it can grab the UnitId of the HomeUnit from them. Bump haddock submodule
-
Wander Hillen authored
Metric Decrease: Naperian T10421 T10421a T10547 T12150 T12234 T12425 T13035 T18140 T18304 T5837 T6048 T13253-spj T18282 T18223 T3064 T9961 Metric Increase T13701 HFSKJH
-
- 12 Oct, 2020 1 commit
-
-
Sylvain Henry authored
Make demand analysis usable without having to provide DynFlags.
-
- 11 Oct, 2020 2 commits
-
-
Danya Rogozin authored
Before this patch, referring to a data constructor in a term-level context led to a scoping error: ghci> id Int <interactive>:1:4: error: Data constructor not in scope: Int After this patch, the renamer falls back to the type namespace and successfully finds the Int. It is then rejected in the type checker with a more useful error message: <interactive>:1:4: error: • Illegal term-level use of the type constructor ‘Int’ imported from ‘Prelude’ (and originally defined in ‘GHC.Types’) • In the first argument of ‘id’, namely ‘Int’ In the expression: id Int We also do this for type variables.
-
Hécate Moonlight authored
-
- 10 Oct, 2020 3 commits
-
-
Sylvain Henry authored
-
Krzysztof Gogolewski authored
-
Hécate Moonlight authored
-
- 09 Oct, 2020 25 commits
-
-
fendor authored
-
Sylvain Henry authored
Instead of recreating the HomeUnit from the DynFlags every time we need it, we store it in the HscEnv.
-
Sylvain Henry authored
-
Krzysztof Gogolewski authored
!3798 added documentation and semantics for the flags, but not parsing.
-
Andreas Klebinger authored
Firstly this improves code clarity. But it also has performance benefits as we no longer go through the name of the TyCon to get at it's unique. In order to make this work the recursion check for TyCon has been moved into it's own module in order to avoid import cycles.
-
Ben Gamari authored
This should fix #18774.
-
Simon Peyton Jones authored
This fixes a long-standing bug in the desugaring of record updates for data families, when the latter involves a GADT. It's all explained in Note [Update for GADTs] in GHC.HsToCore.Expr. Building the correct cast is surprisingly tricky, as that Note explains. Fixes #18809. The test case (in indexed-types/should_compile/T18809) contains several examples that exercise the dark corners.
-
Tamar Christina authored
-
Tamar Christina authored
-
Tamar Christina authored
-
Tamar Christina authored
-
Ben Gamari authored
Previously the make build system's source distribution rules neglected to include Hadrian's sources. Fixes #18794.
-
Krzysztof Gogolewski authored
-
Alan Zimmerman authored
A cleanup in 7f418acf accidentally discarded some parens in ConDeclGADT. Make sure these stay in the AST in a usable format. Also ensure the AnnLolly does not get lost in a GADT.
-
Sylvain Henry authored
Previously we only matched on *variables* whose unfoldings were a ConApp of the form `IS lit#` or `NS lit##`. But we forgot to match on the ConApp directly... As a consequence, constant folding only worked after the FloatOut pass which creates bindings for most sub-expressions. With this patch, matching on bignums works even with -O0 (see bignumMatch test).
-
Sylvain Henry authored
-
Andreas Klebinger authored
We now seem to use -Werror there. Which caused some long standing warnings to become errors. I applied changes to remove the warnings allowing the testsuite to run on windows as well.
-
Andreas Klebinger authored
Replace options like collect_stats(['peak_megabytes_allocated'],4) with collect_runtime_residency(4) and so forth. Reason being that the later also supplies some default RTS arguments which make sure residency does not fluctuate too much. The new flags mean we get new (hopefully more accurate) baselines so accept the stat changes. ------------------------- Metric Decrease: T4029 T4334 T7850 Metric Increase: T13218 T7436 -------------------------
-
Hécate Moonlight authored
-
Krzysztof Gogolewski authored
Fixes #17919.
-
MaxGabriel authored
Tracking: #18641
-
Sylvain Henry authored
Some RTS ways are exposed via settings (ghcThreaded, ghcDebugged) but not all. It's simpler if the RTS exposes them all itself.
-
Tamar Christina authored
On windows the stack has to be allocated 4k at a time, otherwise we get a segfault. This is done by using a helper ___chkstk_ms that is provided by libgcc. The Haskell side already knows how to handle this but we need to do the same from STG. Previously we would drop the stack in StgRun but would only make it valid whenever the scheduler loop ran. This approach was fundamentally broken in that it falls apart when you take a signal from the OS. We see it less often because you initially get allocated a 1MB stack block which you have to blow past first. Concretely this means we must always keep the stack valid. Fixes #18601.
-
Simon Jakobi authored
Updates containers submodule.
-
Sylvain Henry authored
In Cmm we can only have real units identified with an UnitId. Other units (on-the-fly instantiated units and holes) are only used in type-checking backpack sessions that don't produce Cmm.
-
- 07 Oct, 2020 5 commits
-
-
Krzysztof Gogolewski authored
* Include funTyCon in exposedPrimTyCons. Every single place using exposedPrimTyCons was adding funTyCon manually. * Remove unused synTyConResKind and ieLWrappedName * Add recordSelectorTyCon_maybe * In exprType, panic instead of giving a trace message and dummy output. This prevents #18767 reoccurring. * Fix compilation error in fragile concprog001 test (part of #18732)
-
Ben Gamari authored
Several people have struggled with metric change annotations in their commit messages not being recognized due to the fact that GitLab's job log inserts a space at the beginning of each line. Teach the regular expression to accept this whitespace.
-
kgardas authored
Fixes #18800.
-
Alan Zimmerman authored
When linear types are disabled, HsUnrestrictedArrow is treated as HslinearArrow. Move this adjustment into the type checking phase, so that the parsed source accurately represents the source as parsed. Closes #18791
-
Sylvain Henry authored
-