| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Windows support was added in c93813d96b1da53a2ebd9c9ac5af6cc3e3443c43
|
| |
|
|
|
|
| |
That image creates an unprivileged user to run the test suite under.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was broken by D3746 and/or D3809, but unfortunately we didn't
notice because CI at the time wasn't building the profiling way.
Test Plan:
```
cd testsuite/test/profiling/should_run
make WAY=ghci-ext-prof
```
Reviewers: bgamari, michalt, hvr, erikd
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14705
Differential Revision: https://phabricator.haskell.org/D4437
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`accumArray` was lazier than documented. `accum` did not have
documented strictness. The extra laziness allowed thunks to build
up in the array. Force the results of applying the accumulating
function to resolve.
Reviewers: hvr, bgamari
Reviewed By: bgamari
Subscribers: alpmestan, rwbarton, thomie, carter
GHC Trac Issues: #14785
Differential Revision: https://phabricator.haskell.org/D4403
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This basically replaces all uses of `foldl` with `foldl'`. I've looked
at all the call sites and there doesn't seem to be any reason to prefer
the lazy version.
Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: ./validate
Reviewers: bgamari, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4463
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 7aaeaf81ea95c36fe1dc4da449cf6092a792fd09
`-g1` and `-g2` are actually different.
The tutorial below is correct.
Test Plan: harbormaster
Reviewers: bgamari, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4471
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts f5b275a239d2554c4da0b7621211642bf3b10650
and changes the places that looked for `Lit (MachStr _))`
to use `exprIsMbTickedLitString_maybe` to unwrap ticks as
necessary.
Also updated relevant comments.
Test Plan:
I added 3 new tests that previously reproduced.
GHC HEAD now builds with -g
Reviewers: simonpj, simonmar, bgamari, hvr, goldfire
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14779
Differential Revision: https://phabricator.haskell.org/D4470
|
|
|
|
| |
(the CPP guard is already wrapped with the same guard in line 1549)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This came up when trying to build GHC HEAD with nix. We
do not set CCX for integer-gmp when running ./configure. We do
this however for libffi.
The result is, that if CCX is not set, we default to the system
one, of which there might be none (as in nixos's case). This
will not show on a debian+nix or similar setup, where the system
`cxx` is still in place, and only shows up when the system tries
hard to sandbox everything (even cxx) as nixOS does.
We use `CXX`, which is set to either `clang` or `CC_STAGE1`, and
also usedfor `CC`, similar to what we do for libffi.c
Test Plan: ./validate
Reviewers: bgamari, hvr
Reviewed By: hvr
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4473
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: trofi, bgamari
Reviewed By: trofi, bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4467
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This wasn't spotted rightaway in
8f0b2f5eadf0fcb47c581907205a9db686214a69
because the include-site deliberately ignored include-errors as
a Hack with the justification below:
> Hack. The file gmp/config.mk doesn't exist yet after running ./configure in
> the toplevel (ghc) directory. To let some toplevel make commands such as
> sdist go through, right after ./configure, don't consider this an error.
This may have contributed to #14891.
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is preparatory for the main fix for Trac #13324
Here, we simplify rnLHsInstType so that it does not try
to figure out the class name. This turns out to have a good
(rather than bad) effect on error messages, and it prepares
the way for the main event.
Plus, less code!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
There were previously some situations where `(->)` would
not be desugared or reified as `ArrowT`, leading to various oddities
such as those observed in #14888. We now uniformly treat `(->)` as
`ArrowT` in Template Haskell–world by checking for any tycon that
has the same name as `(->)`, and converting that to `ArrowT`.
Test Plan: make test TEST=T14888
Reviewers: goldfire, bgamari, simonpj
Reviewed By: goldfire, simonpj
Subscribers: simonpj, rwbarton, thomie, carter
GHC Trac Issues: #14888
Differential Revision: https://phabricator.haskell.org/D4466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried to do this with
commit 0a12d92a8f65d374f9317af2759af2b46267ad5c
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date: Wed Dec 13 12:53:26 2017 +0000
Further improvements to well-kinded types
The typechecker has the invariant that every type should be well-kinded
as it stands, without zonking. See Note [The well-kinded type invariant]
in TcType.
That invariant was not being upheld, which led to Trac #14174. I fixed
part of it, but T14174a showed that there was more. This patch finishes
the job.
But I didn't get it quite right as Trac #14873 showed.
This patch fixes the problem; although I am still a bit unhappy.
(See "A worry" in the HsApp case of tc_infer_hs_type.)
|
|
|
|
|
|
|
|
|
|
|
| |
Comment:4 in Trac #14808 explains why I'm unhappy with the current
state of affairs -- at least the lack of documentation.
This smallpatch does nothing major:
* adds comments
* uses existing type synonyms more (notably FreeKiTyVarsWithDups)
* adds another test case to T14808
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Requires some ghc-cabal changes as well.
Test Plan: ./validate
Reviewers: hvr, bgamari
Reviewed By: bgamari
Subscribers: hsyl20, erikd, alpmestan, rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4453
|
|
|
|
| |
This should have been part of 5f6fcf78.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A simple oversight in the pretty-printer lead to a special
case for `() :: Constraint` not being parenthesized correctly when
used in an argument position. Easily fixed with a `maybeParen`.
Test Plan: make test TEST=T14796
Reviewers: alanz, goldfire, bgamari, simonpj
Reviewed By: bgamari, simonpj
Subscribers: simonpj, rwbarton, thomie, carter
GHC Trac Issues: #14796
Differential Revision: https://phabricator.haskell.org/D4408
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the pattern-match coverage checker was far too
eager to freshen the names of existentially quantified type
variables, which led to incorrect sets of type constraints that
misled GHC into thinking that certain programs that involve nested
GADT pattern matches were non-exhaustive (when in fact they were).
Now, we generate extra equality constraints in the ConCon case of
the coverage algorithm to ensure that these fresh tyvars align
with existing existential tyvars. See
`Note [Coverage checking and existential tyvars]` for the full story.
Test Plan: make test TEST="T11984 T14098"
Reviewers: gkaracha, bgamari, simonpj
Reviewed By: simonpj
Subscribers: simonpj, rwbarton, thomie, carter
GHC Trac Issues: #11984, #14098
Differential Revision: https://phabricator.haskell.org/D4434
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doesn't remedy problem, but at least it's more explicit than
the catch-all
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14544
Differential Revision: https://phabricator.haskell.org/D4435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bumps `hsc2hs` and adds the new `--via-asm` flag,
which allows to successfully cross compile the win32
lirbary.
- Compile with `--via-asm` when cross compiling. This requires
haskell/hsc2hs#5 (https://github.com/haskell/hsc2hs/pull/5)
Test Plan: ./validate
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, any Template Haskell code that was spliced would
be marked as `Generated`, which would completely suppress pattern-
match coverage warnings for it, which several folks found confusing.
Indeed, Template Haskell-spliced code is "source" code in some sense,
as users specifically request that it be put into their program, so
changing its designation to `FromSource` makes sense from that
perspective.
Test Plan: make test TEST=T14838
Reviewers: goldfire, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14838
Differential Revision: https://phabricator.haskell.org/D4440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We were simply missing a case in `Convert` for when have a
`PromotedTupleT` that wasn't fully saturated. Easily fixed.
Test Plan: make test TEST=T14843
Reviewers: goldfire, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14843
Differential Revision: https://phabricator.haskell.org/D4442
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our *-cross flavours force -fllvm, this adds flavours for cross
compilation to x86_64, where we can use our native code generator.
Test Plan: ./validate
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4443
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: hvr, bgamari, alpmestan, RyanGlScott
Reviewed By: RyanGlScott
Subscribers: RyanGlScott, rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4447
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: `./configure --disable-ld-override; make; make install`
Reviewers: trofi, hvr
Reviewed By: trofi
Subscribers: rwbarton, thomie, erikd, carter, simonmar
GHC Trac Issues: #14675
Differential Revision: https://phabricator.haskell.org/D4448
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4450
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: ./validate
Reviewers: hvr, goldfire, bgamari, RyanGlScott
Reviewed By: RyanGlScott
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #11767
Differential Revision: https://phabricator.haskell.org/D4452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the modules were smashed together at the end of the line. As
the header is quite long, this meant for quite long lines which wrapped
on smaller terminals.
err msg: A
B
Now they are nested underneath the long first line of the error message.
err msg:
A
B
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4454
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this patch GHCi used the modification time of a module's object
file to invalidate the info cache.
We now look at the modification time of the source file, if present.
This addresses part of
https://ghc.haskell.org/trac/ghc/ticket/12706#comment:3.
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: lelf, alpmestan, rwbarton, thomie, carter
GHC Trac Issues: #12706
Differential Revision: https://phabricator.haskell.org/D4459
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: dfeuer
Reviewed By: dfeuer
Subscribers: dfeuer, rwbarton, thomie, carter
GHC Trac Issues: #14819
Differential Revision: https://phabricator.haskell.org/D4422
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adds quick-cross-ncg flavour.
- Fix windows wchar with `_s` for mingw
- Lookup windres, dllwrap and objdump
- Fix type.
Reviewers: bgamari, hvr, Phyx, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, erikd, carter
Differential Revision: https://phabricator.haskell.org/D4430
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Within `pprDataFamInstDecl`, we were invoking `pprFamInstLHS` to
pretty-print a data family instance header, and we were passing `Just` a
kind signature to `pprFamInstLHS` to make it pretty-print the kind
signature alongside it (this is a consequence of commit
d1ef223cfebd23c25489a4b0c67fbaa2f91c1ec6). But this is silly, because
then invoke `pp_data_defn`, which //also// pretty-prints the kind
signature, resulting in the kind signature being printed twice by
mistake.
This fix is simple—pass `Nothing` to `pprFamInstLHS` instead.
Test Plan: make test TEST=T14817
Reviewers: alanz, bgamari, mpickering
Reviewed By: mpickering
Subscribers: mpickering, rwbarton, thomie, carter
GHC Trac Issues: #14817
Differential Revision: https://phabricator.haskell.org/D4418
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: make test TEST=T12790
Reviewers: bgamari, mpickering
Reviewed By: mpickering
Subscribers: mpickering, dfeuer, rwbarton, thomie, carter
GHC Trac Issues: #12790
Differential Revision: https://phabricator.haskell.org/D4412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we didn't do exhaustive checking on MultiIf expressions
and guards in pattern bindings.
We can construct the `LMatch` directly from GRHSs or [LHsExpr]
(MultiIf's alts) then feed it to checkMatches, without construct the
MatchGroup and using function `matchWrapper`.
Signed-off-by: HE, Tao <sighingnow@gmail.com>
Test Plan: make test TEST="T14773a T14773b"
Reviewers: bgamari, RyanGlScott, simonpj
Reviewed By: bgamari, simonpj
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14773
Differential Revision: https://phabricator.haskell.org/D4400
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move Data.Functor.Contravariant from the contravariant package to base.
Since base is the bottom of the dependency hierarchy, several instances
have been removed. They will need to be added to the following packages:
transformers, StateVar, and possibly tagged. There may not actually have
been any types from tagged that previous had instanced provided by this
module though, since it may have only been used for Data.Proxy. Additionally,
all CPP has been removed. Derived Typeable instances have been removed
(since Typeable is now automatically derived for everything). The language
extension Safe is still used, although it is unclear to ATM whether or not
it is necessary.
This resolves trac issue #14767.
Test Plan: validate
Reviewers: RyanGlScott, ekmett, hvr, bgamari
Reviewed By: RyanGlScott
Subscribers: rwbarton, thomie, ekmett, carter, RyanGlScott
GHC Trac Issues: #14767
Differential Revision: https://phabricator.haskell.org/D4399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, non-CAF cost centre symbol names contained a unique,
leading to non-deterministic object files which, among other issues,
can lead to an inconsistency causing linking failure when using cached
builds sourced from multiple machines, such as with nix. Now, each
cost centre symbol is annotated with the type of cost centre it
is (CAF, expression annotation, declaration annotation, or HPC) and,
when a single module has multiple cost centres with the same name and
type, a 0-based index.
Reviewers: bgamari, simonmar
Reviewed By: bgamari
Subscribers: niteria, simonmar, RyanGlScott, osa1, rwbarton, thomie, carter
GHC Trac Issues: #4012, #12935
Differential Revision: https://phabricator.haskell.org/D4388
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This is part of D4342 which is worthwhile to merge on its own.
Reviewers: nboldi, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4410
Co-authored-by: Boldizsar Nemeth <nboldi@elte.hu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`all_tasks_mutex` should be released before calling `releaseCapability_`
in the parent process as `releaseCapability_` spawns worker tasks in
some cases.
Reviewers: bgamari, erikd, simonmar
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14538
Differential Revision: https://phabricator.haskell.org/D4460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change we would compute a hash of
all the command line -optP flags once per file.
With a lot of files and many -optP flags, that's a lot
of repeated work.
I added a new Note that explains the approach and rationale.
Test Plan: new test
Reviewers: simonmar, simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #14697
Differential Revision: https://phabricator.haskell.org/D4445
|
|
|
|
| |
This reverts commit d675a354e8db67d87d1f257c3d1d2bf2d58c2b3f.
|