| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This allows you to use the ghc-in-ghci script in Make even if you
haven't built stage2, and also with Hadrian. Because of the way -I
works, it will prefer Make/stage2.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
After commit ef26182e2014b0a2a029ae466a4b121bf235e4e4,
the type variable binders in GADT constructor type signatures
are now quantified in toposorted order, instead of always having
all the universals before all the existentials. Unfortunately, that
commit forgot to update some code (which was assuming the latter
scenario) in `DsExpr` which desugars record updates. This wound
up being the cause of #15499.
This patch makes up for lost time by desugaring record updates in
a way such that the desugared expression applies type arguments to
the right-hand side constructor in the correct order—that is, the
order in which they were quantified by the user.
Test Plan: make test TEST=T15499
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, carter
GHC Trac Issues: #15499
Differential Revision: https://phabricator.haskell.org/D5060
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: (This is documented in `+RTS -?` but wasn't documented in the user's guide)
Reviewers: simonmar, bgamari, monoidal
Reviewed By: monoidal
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5065
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
because since #15050, these are no longer used in pattern SIGnatures,
but still in other places where meta-variables should only be unified
with TYpe VARiables.
I also found mentions of `SigTv` in parts of the renamer and desugarer
that do not seem to directly relate to `SigTv` as used in the type
checker, but rather to uses of `forall a.` in type signatures. I renamed
these to `ScopedTv`.
Differential Revision: https://phabricator.haskell.org/D5074
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When `(.) @Int` is used without enabling `TypeApplications`,
the resulting error message will pretty-print the (symbolic)
`RdrName` `(.)`. However, it does so without parenthesizing it, which
causes the pretty-printed expression to appear as `.@Int`. Yuck.
Since the expression in a type application will always be prefix,
we can fix this issue by using `pprPrefixOcc` instead of plain ol'
`ppr`.
Test Plan: make test TEST=T15527
Reviewers: bgamari, monoidal, simonpj
Reviewed By: monoidal, simonpj
Subscribers: rwbarton, carter
GHC Trac Issues: #15527
Differential Revision: https://phabricator.haskell.org/D5071
|
|
|
|
| |
Removes documentation suggesting that 30 and 31-bit code generation is supported
(in support of https://github.com/ghc/ghc/commit/290889927244c79479c4347dfa6c851a134dd6e0).
|
|
|
|
|
| |
This allows to run ghc-in-ghci when :set -XTypeApplications is in
.ghciconfig.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fortunately the bug is not present in master.
Test Plan: make test TEST=T15523
Reviewers: bgamari, RyanGlScott
Reviewed By: RyanGlScott
Subscribers: RyanGlScott, rwbarton, carter
GHC Trac Issues: #15523
Differential Revision: https://phabricator.haskell.org/D5070
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fixes #15486.
Test Plan: Validate
Reviewers: monoidal
Reviewed By: monoidal
Subscribers: rwbarton, carter
GHC Trac Issues: #15486
Differential Revision: https://phabricator.haskell.org/D5050
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When `\case` expressions are parsed normally, their
alternatives are marked as `CaseAlt` (which means that they are
pretty-printed without a `\` character in front of them, unlike for
lambda expressions). However, `\case` expressions created by way of
Template Haskell (in `Convert`) inconsistently designated the case
alternatives as `LambdaExpr`, causing them to be pretty-printed
poorly (as shown in #15518). The fix is simple: use `CaseAlt`
consistently.
Test Plan: make test TEST=T15518
Reviewers: goldfire, bgamari
Subscribers: rwbarton, carter
GHC Trac Issues: #15518
Differential Revision: https://phabricator.haskell.org/D5069
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When GHC reports that it cannot solve a constraint in error
messages, it often reports what given constraints it has in scope.
Unfortunately, sometimes redundant constraints (like `* ~ *`, from
#15361) can sneak in. The fix is simple: blast away these redundant
constraints using `mkMinimalBySCs`.
Test Plan: make test TEST=T15361
Reviewers: simonpj, bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #15361
Differential Revision: https://phabricator.haskell.org/D5002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: If this is not checked, SrcSpans are sometimes mangled by CPP.
Test Plan: ./validate
Reviewers: bgamari, dfeuer
Reviewed By: bgamari
Subscribers: dfeuer, rwbarton, thomie, carter
GHC Trac Issues: #15279
Differential Revision: https://phabricator.haskell.org/D4866
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In order to disambiguate names from different modules, qualify all names
that don't originate in the current module.
Also update docs for QueryQualifyName
Test Plan: validate
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, thomie, carter, tdammers
GHC Trac Issues: #15269
Differential Revision: https://phabricator.haskell.org/D4852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Since the LLVM backend is slow enough that *slowtest can't run
in the allocated time on Circle CI, let's just use *test. If that still
doesn't fit in the allocated 5 hours, we can try running just the
compiler tests.
Test Plan: Circle CI validation for LLVM
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D5033
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Add testcase for #9441
Test Plan: make test TESTS="T9441a T9441b T9441c"
Reviewers: dfeuer, simonpj, thomie, austin, bgamari
Reviewed By: dfeuer
Subscribers: rwbarton, carter
GHC Trac Issues: #9441
Differential Revision: https://phabricator.haskell.org/D5038
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Avoid import *; this helps tools such as pyflakes.
The last occurrence in runtests.py is not easy to remove
as it's used by .T files.
- Use False/True instead of 0/1.
Test Plan: validate
Reviewers: bgamari, thomie, simonmar
Reviewed By: thomie
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5062
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- remove clean_cmd
- framework_failures was undefined
- times_file was not used
- if_verbose_dump was called only when verbose >= 1; remove the check
- simplify normalise_whitespace
Test Plan: validate
Reviewers: bgamari, thomie
Reviewed By: thomie
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5061
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously we just created a cartesian product of the library
paths of the plugin package and the libraries of the package.
Of course, some of these combinations result in a filepath of
a file doesn't exists, leading to #15475.
Instead of making `haskFile` return Nothing in case a file
doesn't exist (which would hide errors), we look at all the
possible dylib locations and ensure that at least one of those
locations is an existing file. If the list turns out to be
empty however, we panic.
Reviewers: mpickering, bgamari
Reviewed By: mpickering
Subscribers: monoidal, rwbarton, carter
GHC Trac Issues: #15475
Differential Revision: https://phabricator.haskell.org/D5048
|
| |
|
| |
|
|
|
|
|
| |
- Rewrite module documentation
- Rewrite class documentation
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This caused segmentation faults on Darwin.
This reverts commit c6cc93bca69abc258513af8cf2370b14e70fd8fb.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This contains two commits:
----
Make GHC's code-base compatible w/ `MonadFail`
There were a couple of use-sites which implicitly used pattern-matches
in `do`-notation even though the underlying `Monad` didn't explicitly
support `fail`
This refactoring turns those use-sites into explicit case
discrimations and adds an `MonadFail` instance for `UniqSM`
(`UniqSM` was the worst offender so this has been postponed for a
follow-up refactoring)
---
Turn on MonadFail desugaring by default
This finally implements the phase scheduled for GHC 8.6 according to
https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail#Transitionalstrategy
This also preserves some tests that assumed MonadFail desugaring to be
active; all ghc boot libs were already made compatible with this
`MonadFail` long ago, so no changes were needed there.
Test Plan: Locally performed ./validate --fast
Reviewers: bgamari, simonmar, jrtc27, RyanGlScott
Reviewed By: bgamari
Subscribers: bgamari, RyanGlScott, rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D5028
|
|
|
|
| |
Somehow the level-2 headings were all missing a tilde, causing Sphinx to complain.
|
|
|
|
|
| |
This is actually a decrease in the version number since a bump to 0.10
wasn't actually necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backpack is unable to type check signatures that expect a data which
is a type level literal. This was reported in issue #15138. These
commits are a fix for this. It also includes a minimal test case that
was mentioned in the issue.
Reviewers: bgamari, ezyang, goldfire
Reviewed By: bgamari, ezyang
Subscribers: simonpj, ezyang, rwbarton, thomie, carter
GHC Trac Issues: #15138
Differential Revision: https://phabricator.haskell.org/D4951
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As can be seen on https://circleci.com/gh/ghc/ghc/7578, some
tests are failing on i686 due to too restrictive timeouts. This patch
tweaks those in the hope of solving the 4 failures from that URL due to
timeouts.
Test Plan: ./validate on i686
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D5031
|
|
|
|
|
|
| |
Enabling `-Weverything` does enable those warnings.
(cherry picked from commit b062bd10a88ea407ae91610f822f0c352909bcce)
|
|
|
|
|
|
|
| |
The unhidden module GHC.OldList recommends using GHC.List instead.
In consequence we should also have haddocks for GHC.List.
(cherry picked from commit e3df129c8bf4c35693d01ea66238882f3e3b6fe1)
|
|
|
|
|
|
|
| |
In the module signatures section, two modules were defined, `Str` and
`A`, but `A` was importing `Text`, not `Str`.
(cherry picked from commit 26ab3635ca342c88310321d7f310f1c12c23ec4c)
|
|
|
|
| |
(cherry picked from commit 6fb2620dbc420c976dc9da90b0efc6eae533ebff)
|
|
|
|
|
| |
Since we cast this to a gc_thread the compiler may assume that it's aligned.
Make sure that this is so. Fixes #15482.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: make TEST=T12625
Reviewers: jstolarek, austin, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #12625
Differential Revision: https://phabricator.haskell.org/D5030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we fail to initialize the liker properly, we still set the
`initLinkerDone`. In fact we even set that prior to actually
initializing the linker. However if the linker initialization fails, we
the `Done` state is still true. As such we run into the `Dynamic Linker
not initialised` error. Which while technically corret is confusing as
it pulls the attation away from the real issue.
This change puts the Done state into an MVar, and as such ensureing
that all parallel access needs to wait for the linker to be actually
initialized, or try to re-initilize if it fails.
Reviewers: bgamari, RyanGlScott, simonmar, hvr
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #9868, #10355, #13137, #13607, #13531
Differential Revision: https://phabricator.haskell.org/D5012
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In Python 3, subprocess.communicate() returns a pair of bytes, which
need to be decoded. In runtests.py, we were just calling str() instead,
which converts b'x' to "b'x'". As a result, the loop that was checking
pkginfo for lines starting with 'library-dirs' couldn't work.
Reviewers: bgamari, thomie, Phyx
Reviewed By: thomie
Subscribers: Phyx, rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5046
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Harbormaster
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
GHC Trac Issues: #15469
Differential Revision: https://phabricator.haskell.org/D5039
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
My very last commit to D4904 removed -fobject-code. I should have tested this
more thoroughly, because it is required to do a fresh ghci load, as some code
uses unboxed tuples.
One of my motivations for doing this was that if you run the script without
passing -odir / -hidir, it would pollute the source tree with .hi and .o files.
This also appeared to break subsequent builds. I've made it much less likely
that this will happen by instead specifying -odir and -hidir within the ghci
script rather than on the commandline.
I plan to open a separate diff which adds a test that these scripts work.
Until this patch is merged, the workaround is to do `./utils/ghc-in-ghci/run.sh -fobject-code`
Reviewers: bgamari, alpmestan, monoidal
Reviewed By: alpmestan, monoidal
Subscribers: alpmestan, rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D5015
|
| |
|
|
|
|
| |
Somehow, this escaped my notice before.
|