summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make ghci work for stage1 and HadrianNeil Mitchell2018-08-171-3/+19
| | | | | | 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.
* base: Rewrite semigroup documentationTobias Pflug2018-08-171-8/+45
|
* base: rewrite Monoid module docsTobias Pflug2018-08-171-2/+37
|
* Be mindful of GADT tyvar order when desugaring record updatesRyan Scott2018-08-173-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Document default value of +RTS -N in user's guideÖmer Sinan Ağacan2018-08-171-0/+2
| | | | | | | | | | | | 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
* Rename SigTv to TyVarTv (#15480)Joachim Breitner2018-08-1622-173/+165
| | | | | | | | | | | | | 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
* Fix #15527 by pretty-printing an RdrName prefixlyRyan Scott2018-08-164-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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
* primops: Drop documentation for WORD_SIZE_IN_BITS < 32Chai T. Rex2018-08-161-4/+5
| | | | Removes documentation suggesting that 30 and 31-bit code generation is supported (in support of https://github.com/ghc/ghc/commit/290889927244c79479c4347dfa6c851a134dd6e0).
* Cosmetics in GraphColorKrzysztof Gogolewski2018-08-151-1/+1
| | | | | This allows to run ghc-in-ghci when :set -XTypeApplications is in .ghciconfig.
* Add a test for Trac #15523Krzysztof Gogolewski2018-08-153-0/+13
| | | | | | | | | | | | | | | | 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
* primops: Drop support for WORD_SIZE_IN_BITS < 32Ben Gamari2018-08-151-27/+0
| | | | | | | | | | | | | | | | 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
* Properly designate LambdaCase alts as CaseAlt in THRyan Scott2018-08-144-1/+20
| | | | | | | | | | | | | | | | | | | | | | 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
* Bump parsec submoduleBen Gamari2018-08-131-0/+0
|
* Suppress redundant givens during error reportingRyan Scott2018-08-125-3/+100
| | | | | | | | | | | | | | | | | | | 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
* Check if files are same in combineSrcSpansZubin Duggal2018-08-125-2/+29
| | | | | | | | | | | | | | | | 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
* --show-iface: Qualify all non-local namesSimon Jakobi2018-08-125-16/+28
| | | | | | | | | | | | | | | | | | | | 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
* use *test instead of *slowtest for llvm validation on Circle CIAlp Mestanogullari2018-08-121-1/+1
| | | | | | | | | | | | | | | | | | 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
* CSE should deal with letrecroland2018-08-128-1/+57
| | | | | | | | | | | | | | | | 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
* Simplify testsuite driver, part 2Krzysztof Gogolewski2018-08-126-38/+37
| | | | | | | | | | | | | | | | | | 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
* Simplify testsuite driverKrzysztof Gogolewski2018-08-117-26/+10
| | | | | | | | | | | | | | | | | | | 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
* Filter plugin dylib locationsChristiaan Baaij2018-08-115-8/+59
| | | | | | | | | | | | | | | | | | | | | | | | 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
* testsuite: Bump for unix 2.7Ben Gamari2018-08-091-1/+1
|
* Bump unix submoduleBen Gamari2018-08-091-0/+0
|
* base: improve Functor documentationTobias Pflug2018-08-092-9/+30
| | | | | - Rewrite module documentation - Rewrite class documentation
* Add FreeBSD amd64 LLVM targetViktor Dukhovni2018-08-092-0/+4
|
* circleci: Reduce compression effort to 3Ben Gamari2018-08-081-1/+2
|
* circleci: Reduce build verbosityBen Gamari2018-08-081-1/+1
|
* circleci: Fix documentation buildingBen Gamari2018-08-086-15/+95
|
* Revert "rts: Ensure that the_gc_thread is aligned"Ben Gamari2018-08-081-5/+1
| | | | | | This caused segmentation faults on Darwin. This reverts commit c6cc93bca69abc258513af8cf2370b14e70fd8fb.
* Allow arbitrary options to be passed to tar compressionBen Gamari2018-08-081-3/+3
|
* Yet another Cabal submodule bumpBen Gamari2018-08-071-0/+0
|
* testsuite: Add (broken) test for #15473Ben Gamari2018-08-072-0/+13
|
* Bump Cabal submoduleBen Gamari2018-08-071-0/+0
|
* Turn on MonadFail desugaring by defaultHerbert Valerio Riedel2018-08-0728-67/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* users-guide: Enlarge title underlines in 8.8 release notesBen Gamari2018-08-071-7/+7
| | | | Somehow the level-2 headings were all missing a tilde, causing Sphinx to complain.
* Bump binary submodule to 0.8.6.0Ben Gamari2018-08-074-3/+3
| | | | | This is actually a decrease in the version number since a bump to 0.10 wasn't actually necessary.
* Support typechecking of type literals in backpackPiyush P Kurur2018-08-065-1/+55
| | | | | | | | | | | | | | | | | 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
* fix timeout related i686 validation issuesAlp Mestanogullari2018-08-062-1/+16
| | | | | | | | | | | | | | | | | 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
* [docs] Add missed specialisations warnings to list of those not enabled by -WallMaximilian Tagher2018-08-061-0/+2
| | | | | | Enabling `-Weverything` does enable those warnings. (cherry picked from commit b062bd10a88ea407ae91610f822f0c352909bcce)
* Unhide GHC.List for haddockSimon Jakobi2018-08-061-1/+0
| | | | | | | 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)
* docs: Fix wrong module name in hsig exampleMathieu Boespflug2018-08-061-1/+1
| | | | | | | In the module signatures section, two modules were defined, `Str` and `A`, but `A` was importing `Text`, not `Str`. (cherry picked from commit 26ab3635ca342c88310321d7f310f1c12c23ec4c)
* Add since annotation to GHC.ByteOrderAlexander Biehl2018-08-061-0/+1
| | | | (cherry picked from commit 6fb2620dbc420c976dc9da90b0efc6eae533ebff)
* rts: Ensure that the_gc_thread is alignedBen Gamari2018-08-061-1/+5
| | | | | Since we cast this to a gc_thread the compiler may assume that it's aligned. Make sure that this is so. Fixes #15482.
* Improve error message for flags with missing required arguments (#12625)roland2018-08-064-2/+10
| | | | | | | | | | | | | | 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
* Stop the linker panicMoritz Angermann2018-08-062-25/+47
| | | | | | | | | | | | | | | | | | | | | | | 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
* Testsuite driver: fix encoding issue when calling ghc-pkgKrzysztof Gogolewski2018-08-063-6/+5
| | | | | | | | | | | | | | | | 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
* Strip ../ from testdir (fixes #15469)Thomas Miedema2018-08-061-1/+3
| | | | | | | | | | | | | | Test Plan: Harbormaster Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #15469 Differential Revision: https://phabricator.haskell.org/D5039
* Use -fobject-code in the GHCi script for loading GHCMichael Sloan2018-08-063-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mention #15050 in the release notes for 8.8.1Joachim Breitner2018-08-061-0/+4
|
* Move 8.8.1-notes.rst to the right directoryRyan Scott2018-08-061-0/+0
| | | | Somehow, this escaped my notice before.