summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Simplify Core output with -dsuppress-type-signaturesÖmer Sinan Ağacan2018-12-243-5/+7
| | | | | | | | | | | | | | | | | | | | | | | Currently we duplicate top-level binder ids for no reason: $fEqHsExpr_$c/= $fEqHsExpr_$c/= = \ @ id_a27U $dEq_a27V eta_B2 eta1_B1 -> case $fEqHsExpr_$c== $dEq_a27V eta_B2 eta1_B1 of { False -> True; True -> False } with this patch we drop the first line when type signatures are not printed (-dsuppress-type-signatures, which is implied by -dsuppress-all) Reviewers: simonpj, bgamari Reviewed By: simonpj Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5472
* testsuite: Mark th tests as broken in ext-interp way in LLVM build flavoursBen Gamari2018-12-243-0/+13
| | | | | | | This is due to the failures documented in #16087. The condition here could be improved as it matches on `BUILD_FLAVOUR` instead of looking at the compiler flags. However, it's better than nothing and I hope we will be able to fix these issues before long.
* gitlab-ci: Disable CircleCI Darwin buildsBen Gamari2018-12-231-1/+1
| | | | They aren't finishing correctly anyways.
* Revert "testsuite: Fix broken_without_gmp"Ben Gamari2018-12-231-4/+5
| | | | | | | This reverts commit e59439af3222d151918ad1ad2a03942ce9e6a1ff. This is causing unexpected failures in some test ways. Further proof that no change is too trivial for CI.
* testsuite: Fix broken_without_gmpBen Gamari2018-12-231-5/+4
| | | | | The lack of types made the previous failure silent, sadly. Improves situation of #16043.
* testsuite: Mark heapprof001 as broken in prof_hc_hb way on i386Ben Gamari2018-12-221-1/+3
| | | | | | As documented in #15382, this is known to fail in prof_hc_hb on i386. Concerningly, I have also seen this test non-deterministically fail in prof_hc_hb on amd64. We should really investigate this.
* testsuite: Mark objcpp-hi and T13366 as broken on Darwin due to #16083Ben Gamari2018-12-222-1/+5
|
* testsuite: Remove expect_broken on readFail032 and readFail048Ben Gamari2018-12-221-4/+6
| | | | | | | | As noted in #15662, these used to be broken on Darwin due to a Clang toolchain bug. However, this bug appears to be fixed in the Clang shipped with macOS Mojave. Unfortunately, we don't really have any way to only mark it as broken on certain operation system releases so I am just removing the expect_broken entirely.
* gitlab-ci: Allow Darwin CircleCI build to failBen Gamari2018-12-221-0/+1
| | | | | This is currently spuriously failing. Moreover, we have the Mac Mini builder running again so this is much less necessary now.
* Add test for #16038Ömer Sinan Ağacan2018-12-226-0/+44
|
* linters: Check for WARN macro with space separating it from its parenBen Gamari2018-12-221-0/+2
|
* LoadIface: Fix another CPP/Clang issueBen Gamari2018-12-221-1/+1
|
* gitlab-ci: Fix Darwin buildBen Gamari2018-12-212-2/+8
| | | | Previously the toolchain directory was wiped away by git clean.
* gitlab-ci: Only run nightly-i386-linux-deb9 when NIGHTLY is setBen Gamari2018-12-211-0/+3
|
* gitlab-ci: More aggressive cleaningBen Gamari2018-12-211-2/+3
|
* gitlab-ci: Only run CircleCI Darwin build in full-build stageBen Gamari2018-12-211-0/+1
|
* TcRnDriver: Fix haddock-like commentBen Gamari2018-12-211-6/+6
|
* gitlab-ci: Add i386 Debian 9 buildsD5440Ben Gamari2018-12-211-0/+24
|
* gitlab-ci: Ensure that build environment is cleanBen Gamari2018-12-211-1/+3
|
* gitlab-ci: Set localeBen Gamari2018-12-211-0/+2
|
* gitlab-ci: Set thread count properly on WindowsBen Gamari2018-12-211-2/+2
|
* gitlab-ci: Tag linter stageBen Gamari2018-12-211-0/+14
| | | | | | | Previously the linters were tagged with x86_64-linux, meaning that linting jobs would often get stuck behind builds in the queue. Given that linting jobs are fairly low-cost they hold up later build stages it is important that we reduce this latency.
* gitlab-ci: Fix Windows buildBen Gamari2018-12-211-18/+20
|
* gitlab-ci: Remove CircleCI configurationBen Gamari2018-12-211-12/+0
| | | | Our CircleCI builds will fail anyways without large instances.
* CircleCI: Fix check for git push retry limit.David Eichmann2018-12-211-2/+2
| | | | | | | | | | | | Test Plan: Observe CircleCI Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5464
* gitlab-ci: Allow Hadrian build on Windows to failBen Gamari2018-12-211-0/+2
| | | | Due to #16073.
* remove optionGabor Greif2018-12-211-1/+0
|
* Revert "gitlab: Drop submodules hack"Ben Gamari2018-12-212-2/+28
| | | | | | | It turns out that the submodules hack is useful to ensure that CI works in forks. This reverts commit 90ceafa8b9ad60e3c7b72cdd2dacdbeb96bdcddc.
* Improve documention of TypeInTypeSimon Peyton Jones2018-12-211-2/+3
|
* Fix treatment of hi-boot files and dfunsSimon Peyton Jones2018-12-215-198/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trac #16038 exposed the fact that TcRnDriver.checkHiBootIface was creating a binding, in the module being compiled, for $fxBlah = $fBlah but $fxBlah was a /GlobalId/. But all bindings should be for /LocalIds/ else dependency analysis goes down the tubes. * I added a CoreLint check that an occurrence of a GlobalId is not bound by an binding of a LocalId. (There is already a binding-site check that no binding binds a GlobalId.) * I refactored (and actually signficantly simplified) the tricky code for dfuns in checkHiBootIface to ensure that we get LocalIds for those boot-dfuns. Alas, I then got "duplicate instance" messages when compiling HsExpr. It turns out that this is a long-standing, but extremely delicate, bug: even before this patch, if you compile HsExpr with -ddump-tc-trace, you get "duplicate instance". Without -ddump-tc-trace, it's OK. What a mess! The reason for the duplicate-instance is now explained in Note [Loading your own hi-boot file] in LoadIface. I fixed it by a Gross Hack in LoadIface.loadInterface. This is at least no worse than before. But there should be a better way. I have opened #16081 for this.
* Tiny refactor to tcExtendRecEnvSimon Peyton Jones2018-12-211-2/+7
| | | | | | | | | In tcExtendRecEnv, there is no need to us setGlobalTypeEnv (which side-effects the tcg_type_env_var). tcExtendRecEnv is used only when kind-checking a group of type/class decls and no knot-tying via tcg_type_env_var is needed. There is no change in functionality.
* Comments onlySimon Peyton Jones2018-12-212-11/+17
|
* Make candidateQTvs contain tyvar with zonked kindsSimon Peyton Jones2018-12-214-68/+109
| | | | | | | | | | | candidateQTyVars was failing to return fully-zonked tyvars, and that made things fall over chaotically when we try to sort them into a well-scoped telescope. Result: Trac #15795 So I made candidateQTvs guarantee to have fully-zonked tyvars (i.e. with zonked kinds). That's a bit annoying but not really difficult.
* Fix #16002 by moving a validity check to the renamerRyan Scott2018-12-207-29/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The validity check which rejected things like: ```lang=haskell type family B x where A x = x ``` Used to live in the typechecker. But it turns out that this validity check was //only// being run on closed type families without CUSKs! This meant that GHC would silently accept something like this: ```lang=haskell type family B (x :: *) :: * where A x = x ``` This patch fixes the issue by moving this validity check to the renamer, where we can be sure that the check will //always// be run. Test Plan: make test TEST=T16002 Reviewers: simonpj, bgamari Reviewed By: simonpj Subscribers: goldfire, rwbarton, carter GHC Trac Issues: #16002 Differential Revision: https://phabricator.haskell.org/D5420
* Refine the suppression of RuntimeRep variablesSimon Peyton Jones2018-12-204-56/+105
| | | | | | | | When we pretty-print types, we suppress RuntimeRep variables, but we were being too aggressive in doing so, resulting in Trac #16074. This patch makes the suppression a bit less aggressive. See Note [Defaulting RuntimeRep variables]
* Add solveLocalEqualities to tcHsPatSigTypeSimon Peyton Jones2018-12-203-1/+13
| | | | | | | This call plain missing, and as a result the casts messed up deep-skolemisation in tcSubType Fixes Trac #16033
* Remove an old OPTIONS_GHCÖmer Sinan Ağacan2018-12-201-4/+0
|
* Fix #16030 by refactoring IfaceSyn's treatment of GADT constructorsRyan Scott2018-12-196-31/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: GHCi's `:info` command was pretty-printined GADT constructors suboptimally in the following ways: 1. Sometimes, fields were parenthesized when they did not need it, e.g., ```lang=haskell data Foo a where MkFoo :: (Maybe a) -> Foo a ``` I fixed this by refactoring some code in `pprIfaceConDecl` to be a little smarter with respect to GADT syntax. See `pprFieldArgTy` and `pprArgTy`. 2. With `-fprint-explicit-kinds` enabled, there would be times when specified arguments would be printed without a leading `@` in GADT return types, e.g., ```lang=haskell data Bar @k (a :: k) where MkBar :: Bar k a ``` It turns out that `ppr_tc_app`, the function which pretty-prints these return types, was not using the proper machinery to print out the arguments, which caused the visibilities to be forgotten entirely. I refactored `ppr_tc_app` to do this correctly. Test Plan: make test TEST=T16030 Reviewers: goldfire, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, rwbarton, carter GHC Trac Issues: #16030 Differential Revision: https://phabricator.haskell.org/D5440
* Use unicode arrows with -fprint-unicode-syntaxKrzysztof Gogolewski2018-12-192-3/+3
| | | | | | | | | | | | | | | | | | Summary: See #8959, this is one more place where we can pretty-print Unicode syntax. Test Plan: validate Reviewers: nomeata, bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #8959 Differential Revision: https://phabricator.haskell.org/D5439
* don't suggest Rank2Types in error messages (Fixed #16000)chessai2018-12-197-8/+8
| | | | | | | | | | | | | | Summary: Rank2Types is deprecated. Don't suggest to users to use it. Reviewers: bgamari, RyanGlScott, simonpj Reviewed By: RyanGlScott, simonpj Subscribers: RyanGlScott, rwbarton, carter GHC Trac Issues: #16000 Differential Revision: https://phabricator.haskell.org/D5447
* gitlab-ci: Split build into two halvesBen Gamari2018-12-191-4/+15
| | | | | | | | | | | Currently we are having quite some trouble keeping up with our build volume due to the number of configurations we have. I've split the pipeline into two halves: * build, which builds just vanilla deb9-linux with make and hadrian * full-build, which builds everything else This will trade-off some latency to more efficient use of our builders.
* gitlab-ci: Fix locale on Darwin onlyBen Gamari2018-12-191-0/+1
| | | | Setting LANG causes trouble on Debian.
* Fix warning that 'hugs-options' isn't supported any moreGabor Greif2018-12-191-1/+0
|
* gitlab-ci: Ensure that locale is setBen Gamari2018-12-181-0/+1
|
* gitlab-ci: Make Windows PATH more robustBen Gamari2018-12-181-1/+15
|
* gitlab-ci: Remove CircleCI configurationBen Gamari2018-12-181-12/+0
| | | | Our CircleCI builds will fail anyways without large instances.
* gitlab-ci: Try fixing Windows buildBen Gamari2018-12-182-2/+2
| | | | For some reason curl isn't found on the new builder.
* circleci: Fix LLVM buildBen Gamari2018-12-181-7/+3
| | | | Might as well make sure it works before we retire it.
* Add some complexities to Data.List documentation (#15003)Sven Tennie2018-12-183-17/+26
| | | | | | | | | | | | | | | | | | Namely for: - stripPrefix - isPrefixOf - intersperse - tails - map - scanl - scanl1 - scanl' - scanr - scanr1 - zip - zipWith Add examples to `zipWith` and `map`.
* hadrian: introduce make-user-oriented docsAlp Mestanogullari2018-12-172-39/+217
| | | | | | | | | | | | | | | | | This commit introduces Hadrian docs specifically targeted at GHC devs who are used to building GHC with the make build system, adapting a good chunk of the following quickstart page we wrote over the last few months: https://ghc.haskell.org/trac/ghc/wiki/Building/Hadrian/QuickStart Reviewers: snowleopard, bgamari Reviewed By: snowleopard Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5446