summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Hadrian: introduce userDefaultFlavour, making default flavour overridableAlp Mestanogullari2018-12-173-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | This patch introduces the `userDefaultFlavour` user setting. It should be the name of the default flavour to use when no --flavour argument is passed. Before this patch, we would just always default to... the `default` flavour. With this patch, we default to whatever Flavour whose name is `userDefaultFlavour`, therefore providing a way for users to "persist" their choice of flavour, not having to repeat --flavour=[...] in every hadrian command. Test Plan: Set `userDefaultFlavour = "quickest"`, run `hadrian/build.sh`, check that the quickest flavour is indeed picked. Reviewers: snowleopard, bgamari Reviewed By: snowleopard Subscribers: mpickering, rwbarton, carter GHC Trac Issues: #15890 Differential Revision: https://phabricator.haskell.org/D5454
* gitlab-ci: Enable Windows buildsBen Gamari2018-12-171-1/+1
|
* Merge sections in profiling .a to .p_o and use it whenever it existsZejun Wu2018-12-172-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We do this for vanilla way already. Let's also merge sections for profiling way and use it instead of the .a library when it exists. Test Plan: ``` $ inplace/bin/ghc-stage2 --interactive -prof -fexternal-interpreter GHCi, version 8.7.20180921: http://www.haskell.org/ghc/ :? for help Prelude> pid <- System.Posix.Process.getProcessID Prelude> maps <- readFile $ "/proc/" ++ show pid ++ "/maps" Prelude> pid 3807346 Prelude> putStrLn $ unlines $ take 20 $ lines maps 00400000-02103000 r-xp 00000000 00:1a 199277344 /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof 02104000-02106000 r--p 01d03000 00:1a 199277344 /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof 02106000-02417000 rw-p 01d05000 00:1a 199277344 /data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof 02417000-0280a000 rw-p 00000000 00:00 0 [heap] 40098000-400b0000 rwxp 000d2000 00:1a 199276023 /data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o 400b7000-400d8000 rwxp 00000000 00:00 0 401d1000-401d2000 rwxp 000e9000 00:1a 199276023 /data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o 40415000-40419000 rwxp 0000b000 00:1a 199275165 /data/users/watashi/ghc/libraries/deepseq/dist-install/build/HSdeepseq-1.4.4.0.p_o 404f8000-40526000 rwxp 000af000 00:1a 199274234 /data/users/watashi/ghc/libraries/ghc-prim/dist-install/build/HSghc-prim-0.5.3.p_o ``` Reviewers: simonmar, bgamari, austin, hvr Reviewed By: simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5169
* gitlab-ci: Add aarch64 targetBen Gamari2018-12-152-0/+80
|
* hadrian: Pass integer_backend to testsuite driverBen Gamari2018-12-141-0/+2
|
* Use https links in user-facing startup and error messagesBen Gamari2018-12-145-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | I consider myself lucky that in my circle of friends, `http` urls (as opposed to `https` urls) are frowned upon in that we generally apologize in the rase cases that we share an `http` url. This pull request changes `http` links into their `https` analogues in the following places: * In the GHCI startup message (and parts of the User's Guide, where there are verbatim transcripts of GHCi sessions). * In a couple of error messages, asking the user to report a bug. (I also took the liberty to change a single space before the reportabug url into two spaces, harmonizing this occurence with the others.) I'm not trying to start a war. I just had a moment to spare and felt like preparing this diff. Merge or don't merge as you wish! Reviewers: bgamari, erikd, simonmar Subscribers: goldfire, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5450
* rts: Annotate fallthroughs in AArch64 linkerBen Gamari2018-12-141-1/+6
|
* Update -F RTS help:Ömer Sinan Ağacan2018-12-141-3/+4
| | | | | | | | | | | | | | - Add default value - Update the help line as multiple short lines instead of one long line, for consistency with other lines. Reviewers: simonmar, bgamari, erikd Reviewed By: bgamari Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5445
* gitlab-ci: Bump Darwin boot compiler to 8.6.3Ben Gamari2018-12-131-1/+1
|
* gitlab-ci: Add lintersBen Gamari2018-12-135-1/+209
| | | | | These are taken from our previous arcanist linters as well as the gitolite hooks but with some heavy refactoring.
* llvm-targets: Add amd64-unknown-freebsd tripleBen Gamari2018-12-132-0/+2
| | | | | | | 396aac4c65a47b6252e0a73d2a3066e924d53f11 added the amd64-portbld-freebsd triple but #15718 suggests that we should rather be using x86_64-unknown-freebsd. Not knowing which is correct I've left the amd64-portbld- triplet in place.
* testsuite: Fix typo: integer-gimp /= integer-gmpBen Gamari2018-12-131-1/+1
|
* gitlab-ci: Add LLVM wayBen Gamari2018-12-135-13/+33
|
* gitlab-ci: Enable darwin buildsBen Gamari2018-12-131-1/+1
|