summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add missing comma in 'libdw' configure checkAlec Theriault2018-12-171-1/+1
| | | | | | | | | | | | | | | Fix a bug from cb882fc993b4972f7f212b291229ef9e9ade0af9. Without the comma, all non-diverging codepaths set 'UseLibdw=NO'. Reviewers: bgamari, nh2 Reviewed By: nh2 Subscribers: rwbarton, erikd, carter GHC Trac Issues: #15968 Differential Revision: https://phabricator.haskell.org/D5459
* make QSem and QSemN newtypeschessai2018-12-172-5/+2
| | | | | | | | | | | | Reviewers: RyanGlScott, ekmett, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #15995 Differential Revision: https://phabricator.haskell.org/D5456
* Fix ghci crash when starting with -fno-implicit-import-qualifiedZejun Wu2018-12-175-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ghci -fno-implicit-import-qualified` didn't start with error message: ``` GHCi, version 8.6.2: http://www.haskell.org/ghc/ :? for help <interactive>:1:6: error: Not in scope: ‘System.IO.hSetBuffering’ No module named ‘System.IO’ is imported. ... ``` This change fixes it and update test T2452 to cover this. Test Plan: TEST=T2452 make accept harbormaster build runs Reviewers: simonmar, bgamari, RyanGlScott Reviewed By: simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5452
* gitlab-ci: Fix spelling of GIT_SUBMODULE_STRATEGYBen Gamari2018-12-171-1/+1
|
* circleci: Don't use xlarge instancesBen Gamari2018-12-171-13/+0
| | | | | | As discussed on ghc-devops, CircleCI is changing their billing policy to require users of instances larger than `medium` to use a paid account. Consequently these instances will no longer be available to us starting tomorrow.
* darwin: Build with in-tree GMPBen Gamari2018-12-171-0/+1
|
* gitlab: Drop submodules hackBen Gamari2018-12-172-28/+1
|
* gitlab-ci/deb8-hadrian: Fix submodule pathsBen Gamari2018-12-171-0/+4
|
* StgCRun: Disable unwinding on DarwinBen Gamari2018-12-171-2/+12
| | | | See #15207.
* gitlab-ci: Use cabal-install 2.4 on DarwinBen Gamari2018-12-171-1/+1
|
* ghci: Fix unused binder warnings when building with integer-simpleBen Gamari2018-12-171-2/+0
|
* gitlab-ci: Run Windows builds via make as wellBen Gamari2018-12-171-3/+25
|
* gitlab-ci: Disable Hadrian linting on WindowsBen Gamari2018-12-171-1/+2
| | | | The lint checks currently fail due to #15950.
* gitlab-ci: Introduce nightly buildsBen Gamari2018-12-171-1/+33
| | | | These run slowtest and their artifacts are preserved for two years.
* gitlab-ci: Expire artifacts more aggressivelyBen Gamari2018-12-171-1/+7
| | | | Namely after 2 weeks
* Stomp a few typos and grammarosGabor Greif2018-12-1713-31/+29
| | | | Also use 'id'
* Handle :cd in external interpreter in a more robust wayZejun Wu2018-12-172-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to enqueue another command to change directory in the external interpreter subprocess, this is not as robust as: * it can fail with -fno-implict-import-qualified; * it doesn't work when we `setGHCiMonad` to something other than `IO`. Neither of them works if `directory` package is hidden though. Test Plan: ``` $ inplace/bin/ghc-stage2 --interactive # -fexternal-interpreter GHCi, version 8.7.20181213: http://www.haskell.org/ghc/ :? for help Prelude> :cd .. Prelude> System.Directory.getCurrentDirectory "/data/users/watashi" Prelude> :!pwd /data/users/watashi Prelude> Leaving GHCi. ``` ./validate Reviewers: simonmar, bgamari, RyanGlScott Reviewed By: simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5453