summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix two bugs in stg_ap_0_fast in profiling runtimecherry-pick-908b4b86Ömer Sinan Ağacan2019-04-191-7/+11
| | | | | | | | | | | | | | | | | | | | This includes two bug fixes in profiling version of stg_ap_0_fast: - PAPs allocated by stg_ap_0_fast are now correctly tagged. This invariant is checked in Sanity.c:checkPAP. (This was originally implemented in 2693eb11f5, later reverted with ab55b4ddb7 because it revealed the bug below, but it wasn't clear at the time whether the bug was the one below or something in the commit) - The local variable `untaggedfun` is now marked as a pointer so it survives GC. With this we finally fix all known bugs caught in #15508. `concprog001` now works reliably with prof+threaded and prof runtimes (with and without -debug). (cherry picked from commit 908b4b8659713f0b7a1704ce33c7fa30e3e0ffc3)
* gitlab: Remove doc-tarball jobBen Gamari2019-04-171-41/+0
|
* Allow unregisterised build to failBen Gamari2019-04-171-0/+1
|
* gitlab-ci: Allow failing build jobs to failBen Gamari2019-04-171-0/+3
|
* users-guide: Add pretty to package listBen Gamari2019-04-171-0/+1
|
* gitlab-ci: Backport from masterBen Gamari2019-04-171-104/+405
|
* Hadrian: introduce ways to skip some documentation targetsAlp Mestanogullari2019-04-176-9/+159
| | | | | | | | | | | The initial motivation for this is to have a chance to run the binary distribution rules in our Windows CI without having to install sphinx-build and xelatex there, while retaining the ability to generate haddocks. I just ended up extending this idea a little bit so as to have control over whether we build haddocks, (sphinx) HTML manuals, (sphinx) PDF manuals and (sphinx) manpages. (cherry picked from commit 8442103aa575dc1cd25cb3231e729c6365dc1b5c)
* Add werror function to Flavour.hsMatthew Pickering2019-04-173-1/+22
| | | | | | | This function makes it easy to turn on `-Werror` in the correct manner to mimic how CI turns on -Werror. (cherry picked from commit 8dcd00cef7782c64b5484b106f4fd77c8c87e40a)
* configure: Always use AC_LINK_ELSEIF when testing against assemblerBen Gamari2019-04-171-5/+33
| | | | | | | | | | | | This fixes #16440, where the build system incorrectly concluded that the `.subsections_via_symbols` assembler directive was supported on a Linux system. This was caused by the fact that gcc was invoked with `-flto`; when so-configured gcc does not call the assembler but rather simply serialises its AST for compilation during the final link. This is described in Note [autoconf assembler checks and -flto]. (cherry picked from commit 7b090b53fea065d2cfd967ea919426af9ba8d737)
* Restore Xmm registers properly in StgCRun.cklebinger.andreas@gmx.at2019-04-171-9/+9
| | | | | | | This fixes #16514: Xmm6-15 was restored based off rax instead of rsp. The code was introduced in the fix for #14619. (cherry picked from commit 9b131500371a07626e33edc56700c12322364560)
* Bump hpc submoduleRyan Scott2019-04-121-0/+0
| | | | | Currently, the `hpc` submodule is pinned against the `wip/final-mfp` branch, not against `master`. This pins it back against `master`.
* Use funPrec, not topPrec, to parenthesize GADT argument typesRyan Scott2019-04-095-8/+27
| | | | A simple oversight. Fixes #16527.
* base: Remove `Monad(fail)` method and reexport `MonadFail(fail)` insteadHerbert Valerio Riedel2019-04-05153-801/+229
| | | | | | As per https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail Coauthored-by: Ben Gamari <ben@well-typed.com>
* Update parallel submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update directory submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update filepath submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update hpc submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update terminfo submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update stm submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update process submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update parsec submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update haskeline submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update deepseq submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update unix submoduleHerbert Valerio Riedel2019-04-052-0/+1
|
* Update text submoduleHerbert Valerio Riedel2019-04-051-0/+0
|
* Update binary submodule to latest master branch tipHerbert Valerio Riedel2019-04-051-0/+0
|
* Bump array submoduleRyan Scott2019-04-021-0/+0
| | | | | | This bumps `array` to version 0.5.4.0 so that we can distinguish it with `MIN_VERSION_array` (as it introduces some changes to the `Show` instance for `UArray`).
* Bump transformers to 0.5.6.2Ben Gamari2019-04-021-0/+0
| | | | See #16199.
* Correct duplicate 4.12.0.0 entry in base's changelogRyan Scott2019-04-021-1/+1
| | | | | | See #16490. [ci skip]
* Fix #16219: TemplateHaskell causes indefinite package build errorcherry-pick-d6d735c1Edward Z. Yang2019-04-0111-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | It should work to write an indefinite package using TemplateHaskell, so long as all of the actual TH code lives outside of the package. However, cleverness we had to build TH code even when building with -fno-code meant that we attempted to build object code for modules in an indefinite package, even when the signatures were not instantiated. This patch disables said logic in the event that an indefinite package is being typechecked. Signed-off-by: Edward Z. Yang <ezyang@fb.com> Test Plan: validate Reviewers: simonpj, bgamari Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #16219 Differential Revision: https://phabricator.haskell.org/D5475 (cherry picked from commit d6d735c1114082b9e9cc1ba7da87c49f52891320)
* Only build vanilla way in devel2 flavourcherry-pick-e7e5f4aeMatthew Pickering2019-04-011-1/+4
| | | | | | Fixes #16210 (cherry picked from commit e7e5f4aebec2f095071a1949bb4595744754ee04)
* Don't overwrite the set log_action when using --interactivecherry-pick-10faf44dMatthew Pickering2019-04-011-4/+8
| | | | | | | | | | | | | | | -ddump-json didn't work with --interactive as --interactive overwrote the log_action in terms of defaultLogAction. Reviewers: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14078 Differential Revision: https://phabricator.haskell.org/D4533 (cherry picked from commit 10faf44d97095b2f8516b6d449d266f6889dcd70)
* Bump Haddock submoduleAlec Theriault2019-03-291-0/+0
| | | | | There shouldn't be any more features added to the `ghc-8.8` branch of Haddock after this bump.
* User's Guide: forall is a keyword nowadaysVladislav Zavialov2019-03-212-6/+11
|
* Dot/bang operators in export lists (Trac #16339)Vladislav Zavialov2019-03-214-5/+29
| | | | | | | | The dot type operator was handled in the 'tyvarop' parser production, and the bang type operator in 'tyapp'. However, export lists and role annotations use 'oqtycon', so these type operators could not be exported or assigned roles. The fix is to handle them in a lower level production, 'tyconsym'.
* 'forall' always a keyword, plus the dot type operatorVladislav Zavialov2019-03-2116-87/+74
|
* Bump version to 8.8Ben Gamari2019-03-133-2/+2
|
* Make bkpcabal01 test compatible with new ordering requirements.Edward Z. Yang2019-03-131-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, our test did something like this: 1. Typecheck p 2. Typecheck q (which made use of an instantiated p) 3. Build instantiated p 4. Build instantiated q Cabal previously permitted this, under the reasoning that during typechecking there's no harm in using the instantiated p even if we haven't build it yet; we'll just instantiate it on the fly with p. However, this is not true! If q makes use of a Template Haskell splice from p, we absolutely must have built the instantiated p before we typecheck q, since this typechecking will need to run some splices. Cabal now complains that you haven't done it correctly, which we indeed have not! Reordering so that we do this: 1. Typecheck p 3. Build instantiated p 2. Typecheck q (which made use of an instantiated p) 4. Build instantiated q Fixes the problem. If Cabal had managed the ordering itself, it would have gotten it right. Signed-off-by: Edward Z. Yang <ezyang@fb.com> (cherry picked from commit 6e3e537e419ba8d02dac306d596fba3c1029f123)
* Cmm: Promote stack arguments to word sizePeter Trommler2019-03-131-7/+29
| | | | | | | | | | | | | | | | | | | Smaller than word size integers must be promoted to word size when passed on the stack. While on little endian systems we can get away with writing a small integer to a word size stack slot and read it as a word ignoring the upper bits, on big endian systems a small integer write ends up in the most significant bits and a word size read that ignores the upper bits delivers a random value. On little endian systems a smaller than word size write to the stack might be more efficient but that decision is system specific and should be done as an optimization in the respective backends. Fixes #16258 (cherry picked from commit af7b0fdb64ad1c57f5829e8bd89e8e0fa96b11d2)
* Fix checkStackChunk() call in Interepter.c, enable an assertionÖmer Sinan Ağacan2019-03-132-2/+2
| | | | | | Fixes #16303 (cherry picked from commit 6b890d76a252259843a6e87043f8f12e6a8a0aae)
* API Annotations: parens anns discarded for `(*)` operatorwip/ghc-8.8-azAlan Zimmerman2019-02-275-2/+50
| | | | | | | | | | | | | | | | | The patch from https://phabricator.haskell.org/D4865 introduces go _ (HsParTy _ (dL->L l (HsStarTy _ isUni))) acc ann fix = do { warnStarBndr l ; let name = mkOccName tcClsName (if isUni then "★" else "*") ; return (cL l (Unqual name), acc, fix, ann) } which discards the parens annotations belonging to the HsParTy. Updates haddock submodule Closes #16265 (cherry picked from commit 5e9888bd9c22a1315a703f638591b50e657317c4)
* API Annotations: AnnAt disconnected for TYPEAPPAlan Zimmerman2019-02-2716-71/+200
| | | | | | | | | | | | | | For the code type family F1 (a :: k) (f :: k -> Type) :: Type where F1 @Peano a f = T @Peano f a the API annotation for the first @ is not attached to a SourceSpan in the ParsedSource Closes #16236 (cherry picked from commit cbfc9fcaa33c3b341830962906543dfca1dfedd7)
* API Annotations: more explicit foralls fixupAlan Zimmerman2019-02-276-24/+120
| | | | | | | | | The AnnForall annotations introduced via Phab:D4894 are not always attached to the correct SourceSpan. Closes #16230 (cherry picked from commit be15f7457b98fa0378de7e8146c122757f03c4e9)
* API Annotations: Parens not attached correctly for ClassDeclAlan Zimmerman2019-02-275-38/+57
| | | | | | | | | | | | | The parens around the kinded tyvars should be attached to the class declaration as a whole, they are attached to the tyvar instead, outside the span. An annotation must always be within or after the span it is contained in. Closes #16212 (cherry picked from commit 4bf35da4fccd2a21153a1c19bfa80006e99e02a1)
* check-api-annotations checks for annotation preceding its spanAlan Zimmerman2019-02-2630-43/+233
| | | | | | | | | | | | | | | | | | For an API annotation to be useful, it must not occur before the span it is enclosed in. So, for check-api-annotation output, a line such as ((Test16212.hs:3:22-36,AnnOpenP), [Test16212.hs:3:21]), should be flagged as an error, as the AnnOpenP location of 3:21 precedes its enclosing span of 3:22-26. This patch does this. Closes #16217 (cherry picked from commit 3cf12e6081e7a9f0c3d515de52ffd079186816a5)
* Bump hsc2hs for removed unused matchSebastian Graf2019-02-261-0/+0
|
* Bump Cabal submodulewip/hie-8.8Ben Gamari2019-02-261-0/+0
|
* Lexer: Alternate Layout Rule injects actual not virtual bracesAlan Zimmerman2019-02-265-15/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the alternate layout rule is activated via a pragma, it injects tokens for { and } to make sure that the source is parsed properly. But it injects ITocurly and ITccurly, rather than their virtual counterparts ITvocurly and ITvccurly. This causes problems for ghc-exactprint, which tries to print these. Likewise, any injected ITsemi should have a zero-width SrcSpan. Test case (the existing T13087.hs) {-# LANGUAGE AlternativeLayoutRule #-} {-# LANGUAGE LambdaCase #-} isOne :: Int -> Bool isOne = \case 1 -> True _ -> False main = return () Closes #16279 (cherry picked from commit c1cf2693d6efddeeeb813cd8995a1be136800d17) (cherry picked from commit e0375ba980fd5639d23a29575efb00c30d97c743)
* Revert "Lexer: Alternate Layout Rule injects actual not virtual braces"Ben Gamari2019-02-269-79/+15
| | | | This reverts commit e0375ba980fd5639d23a29575efb00c30d97c743.
* Properly escape character literals in HaddocksAlec Theriault2019-02-257-19/+19
| | | | | | | | Character literals in Haddock should not be written as plain `'\n'` since single quotes are for linking identifiers. Besides, since we want the character literal to be monospaced, we really should use `@\'\\n\'@`. [skip ci]