summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in description of -V RTS flagTej Chajed2018-03-071-1/+1
|
* Users Guide: Add that --numa is available on Windows tooSimon Jakobi2018-03-071-1/+1
| | | | Windows support was added in c93813d96b1da53a2ebd9c9ac5af6cc3e3443c43
* Fix a typo about pattern synonyms in documentation.HE, Tao2018-03-071-1/+1
|
* Use docker images with non-root usermrkkrp2018-03-073-31/+27
| | | | That image creates an unprivileged user to run the test suite under.
* Schedule.c: remove unreachable code blockÖmer Sinan Ağacan2018-03-072-22/+0
|
* Add bindist-list.uniq to .gitignoreÖmer Sinan Ağacan2018-03-071-0/+1
|
* Add perf test for #14052Ömer Sinan Ağacan2018-03-074-0/+3512
|
* Fix interpreter with profilingSimon Marlow2018-03-066-28/+35
| | | | | | | | | | | | | | | | | | | This was broken by D3746 and/or D3809, but unfortunately we didn't notice because CI at the time wasn't building the profiling way. Test Plan: ``` cd testsuite/test/profiling/should_run make WAY=ghci-ext-prof ``` Reviewers: bgamari, michalt, hvr, erikd Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14705 Differential Revision: https://phabricator.haskell.org/D4437
* Bump nofib submoduleBen Gamari2018-03-061-0/+0
|
* Make accumArray and accum stricterDavid Feuer2018-03-061-7/+23
| | | | | | | | | | | | | | | | | `accumArray` was lazier than documented. `accum` did not have documented strictness. The extra laziness allowed thunks to build up in the array. Force the results of applying the accumulating function to resolve. Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: alpmestan, rwbarton, thomie, carter GHC Trac Issues: #14785 Differential Revision: https://phabricator.haskell.org/D4403
* cmm/: Avoid using lazy left foldsMichal Terepeta2018-03-066-21/+27
| | | | | | | | | | | | | | | | | | This basically replaces all uses of `foldl` with `foldl'`. I've looked at all the call sites and there doesn't seem to be any reason to prefer the lazy version. Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com> Test Plan: ./validate Reviewers: bgamari, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4463
* Correct -g flag descriptionBartosz Nitka2018-03-061-2/+3
| | | | | | | | | | | | | | | | Since 7aaeaf81ea95c36fe1dc4da449cf6092a792fd09 `-g1` and `-g2` are actually different. The tutorial below is correct. Test Plan: harbormaster Reviewers: bgamari, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4471
* Allow top level ticked string literalsBartosz Nitka2018-03-0615-50/+183
| | | | | | | | | | | | | | | | | | | | This reverts f5b275a239d2554c4da0b7621211642bf3b10650 and changes the places that looked for `Lit (MachStr _))` to use `exprIsMbTickedLitString_maybe` to unwrap ticks as necessary. Also updated relevant comments. Test Plan: I added 3 new tests that previously reproduced. GHC HEAD now builds with -g Reviewers: simonpj, simonmar, bgamari, hvr, goldfire Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14779 Differential Revision: https://phabricator.haskell.org/D4470
* Schedule.c: remove a redundant CPP guardÖmer Sinan Ağacan2018-03-061-2/+0
| | | | (the CPP guard is already wrapped with the same guard in line 1549)
* add CCX=$(CXX) to integer-gmpMoritz Angermann2018-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This came up when trying to build GHC HEAD with nix. We do not set CCX for integer-gmp when running ./configure. We do this however for libffi. The result is, that if CCX is not set, we default to the system one, of which there might be none (as in nixos's case). This will not show on a debian+nix or similar setup, where the system `cxx` is still in place, and only shows up when the system tries hard to sandbox everything (even cxx) as nixOS does. We use `CXX`, which is set to either `clang` or `CC_STAGE1`, and also usedfor `CC`, similar to what we do for libffi.c Test Plan: ./validate Reviewers: bgamari, hvr Reviewed By: hvr Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4473
* `--via-asm` only for windows targetsMoritz Angermann2018-03-061-2/+6
| | | | | | | | | | Reviewers: trofi, bgamari Reviewed By: trofi, bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4467
* Fixup include of gmp/config.mk to use new locationHerbert Valerio Riedel2018-03-051-1/+1
| | | | | | | | | | | | | This wasn't spotted rightaway in 8f0b2f5eadf0fcb47c581907205a9db686214a69 because the include-site deliberately ignored include-errors as a Hack with the justification below: > Hack. The file gmp/config.mk doesn't exist yet after running ./configure in > the toplevel (ghc) directory. To let some toplevel make commands such as > sdist go through, right after ./configure, don't consider this an error. This may have contributed to #14891.
* Simplify rnLHsInstTypeSimon Peyton Jones2018-03-056-20/+25
| | | | | | | | | | | This patch is preparatory for the main fix for Trac #13324 Here, we simplify rnLHsInstType so that it does not try to figure out the class name. This turns out to have a good (rather than bad) effect on error messages, and it prepares the way for the main event. Plus, less code!
* Fix #14888 by adding more special cases for ArrowTRyan Scott2018-03-055-0/+33
| | | | | | | | | | | | | | | | | | | | | Summary: There were previously some situations where `(->)` would not be desugared or reified as `ArrowT`, leading to various oddities such as those observed in #14888. We now uniformly treat `(->)` as `ArrowT` in Template Haskell–world by checking for any tycon that has the same name as `(->)`, and converting that to `ArrowT`. Test Plan: make test TEST=T14888 Reviewers: goldfire, bgamari, simonpj Reviewed By: goldfire, simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #14888 Differential Revision: https://phabricator.haskell.org/D4466
* Respect Note [The tcType invariant]Simon Peyton Jones2018-03-053-14/+95
| | | | | | | | | | | | | | | | | | | | | | | I tried to do this with commit 0a12d92a8f65d374f9317af2759af2b46267ad5c Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Wed Dec 13 12:53:26 2017 +0000 Further improvements to well-kinded types The typechecker has the invariant that every type should be well-kinded as it stands, without zonking. See Note [The well-kinded type invariant] in TcType. That invariant was not being upheld, which led to Trac #14174. I fixed part of it, but T14174a showed that there was more. This patch finishes the job. But I didn't get it quite right as Trac #14873 showed. This patch fixes the problem; although I am still a bit unhappy. (See "A worry" in the HsApp case of tc_infer_hs_type.)
* Wombling around in Trac #14808Simon Peyton Jones2018-03-053-17/+33
| | | | | | | | | | | Comment:4 in Trac #14808 explains why I'm unhappy with the current state of affairs -- at least the lack of documentation. This smallpatch does nothing major: * adds comments * uses existing type synonyms more (notably FreeKiTyVarsWithDups) * adds another test case to T14808
* Bump Cabal submoduleBen Gamari2018-03-031-0/+0
|
* Bump Cabal submodule to 2.2Moritz Angermann2018-03-039-12/+34
| | | | | | | | | | | | | | Requires some ghc-cabal changes as well. Test Plan: ./validate Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: hsyl20, erikd, alpmestan, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4453
* Bump hsc2hs submoduleMoritz Angermann2018-03-041-0/+0
| | | | This should have been part of 5f6fcf78.
* Parenthesize (() :: Constraint) in argument positionRyan Scott2018-03-034-7/+13
| | | | | | | | | | | | | | | | | | | Summary: A simple oversight in the pretty-printer lead to a special case for `() :: Constraint` not being parenthesized correctly when used in an argument position. Easily fixed with a `maybeParen`. Test Plan: make test TEST=T14796 Reviewers: alanz, goldfire, bgamari, simonpj Reviewed By: bgamari, simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #14796 Differential Revision: https://phabricator.haskell.org/D4408
* Fix the coverage checker's treatment of existential tyvarsRyan Scott2018-03-024-6/+188
| | | | | | | | | | | | | | | | | | | | | | | | Previously, the pattern-match coverage checker was far too eager to freshen the names of existentially quantified type variables, which led to incorrect sets of type constraints that misled GHC into thinking that certain programs that involve nested GADT pattern matches were non-exhaustive (when in fact they were). Now, we generate extra equality constraints in the ConCon case of the coverage algorithm to ensure that these fresh tyvars align with existing existential tyvars. See `Note [Coverage checking and existential tyvars]` for the full story. Test Plan: make test TEST="T11984 T14098" Reviewers: gkaracha, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #11984, #14098 Differential Revision: https://phabricator.haskell.org/D4434
* Correct default -A value in RTS flag usage infoSimon Jakobi2018-03-021-1/+1
| | | | | | | | | | Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4441
* doCorePass: Expand catch-allSimon Jakobi2018-03-021-1/+7
| | | | | | | | | | | | | | | This doesn't remedy problem, but at least it's more explicit than the catch-all Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14544 Differential Revision: https://phabricator.haskell.org/D4435
* Compile with `--via-asm` when cross compiling.Moritz Angermann2018-03-021-2/+6
| | | | | | | | | | | | | | | | | | | This bumps `hsc2hs` and adds the new `--via-asm` flag, which allows to successfully cross compile the win32 lirbary. - Compile with `--via-asm` when cross compiling. This requires haskell/hsc2hs#5 (https://github.com/haskell/hsc2hs/pull/5) Test Plan: ./validate Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4439
* Fix #14838 by marking TH-spliced code as FromSourceRyan Scott2018-03-028-17/+67
| | | | | | | | | | | | | | | | | | | | | | Previously, any Template Haskell code that was spliced would be marked as `Generated`, which would completely suppress pattern- match coverage warnings for it, which several folks found confusing. Indeed, Template Haskell-spliced code is "source" code in some sense, as users specifically request that it be put into their program, so changing its designation to `FromSource` makes sense from that perspective. Test Plan: make test TEST=T14838 Reviewers: goldfire, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14838 Differential Revision: https://phabricator.haskell.org/D4440
* Permit conversion of partially applied PromotedTupleTsRyan Scott2018-03-023-0/+13
| | | | | | | | | | | | | | | | | | Summary: We were simply missing a case in `Convert` for when have a `PromotedTupleT` that wasn't fully saturated. Easily fixed. Test Plan: make test TEST=T14843 Reviewers: goldfire, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14843 Differential Revision: https://phabricator.haskell.org/D4442
* Adds *-cross-ncg flavour.Moritz Angermann2018-03-024-4/+63
| | | | | | | | | | | | | | | Our *-cross flavours force -fllvm, this adds flavours for cross compilation to x86_64, where we can use our native code generator. Test Plan: ./validate Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4443
* Add Applicative, Semigroup, and Monoid instances in GHC.GenericsLysxia2018-03-022-1/+61
| | | | | | | | | | Reviewers: hvr, bgamari, alpmestan, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4447
* configure: Enable LD_NO_GOLD is set in all codepathsBen Gamari2018-03-021-0/+4
| | | | | | | | | | | | | | Test Plan: `./configure --disable-ld-override; make; make install` Reviewers: trofi, hvr Reviewed By: trofi Subscribers: rwbarton, thomie, erikd, carter, simonmar GHC Trac Issues: #14675 Differential Revision: https://phabricator.haskell.org/D4448
* rts/win32: Assert that the IO manager has been initialisedSimon Jakobi2018-03-021-18/+15
| | | | | | | | | | Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4450
* Add @since annotations for derived instances in baseChaitanya Koparkar2018-03-0262-148/+735
| | | | | | | | | | | | | | Test Plan: ./validate Reviewers: hvr, goldfire, bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: rwbarton, thomie, carter GHC Trac Issues: #11767 Differential Revision: https://phabricator.haskell.org/D4452
* Improve missing-home-modules warning formattingMatthew Pickering2018-03-021-4/+9
| | | | | | | | | | | | | | | | | | | | | | | Previously the modules were smashed together at the end of the line. As the header is quite long, this meant for quite long lines which wrapped on smaller terminals. err msg: A B Now they are nested underneath the long first line of the error message. err msg: A B Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4454
* GHCi info: Use src file for cache invalidationalexbiehl2018-03-021-1/+3
| | | | | | | | | | | | | | | | | | | | Prior to this patch GHCi used the modification time of a module's object file to invalidate the info cache. We now look at the modification time of the source file, if present. This addresses part of https://ghc.haskell.org/trac/ghc/ticket/12706#comment:3. Reviewers: bgamari Reviewed By: bgamari Subscribers: lelf, alpmestan, rwbarton, thomie, carter GHC Trac Issues: #12706 Differential Revision: https://phabricator.haskell.org/D4459
* DynFlags: Support British spelling of GeneralisedNewtypeDerivingBen Gamari2018-03-024-2/+7
| | | | | | | | | | | | Reviewers: dfeuer Reviewed By: dfeuer Subscribers: dfeuer, rwbarton, thomie, carter GHC Trac Issues: #14819 Differential Revision: https://phabricator.haskell.org/D4422
* Various Windows / Cross Compile to Windows fixesMoritz Angermann2018-03-024-1/+12
| | | | | | | | | | | | | | | - Adds quick-cross-ncg flavour. - Fix windows wchar with `_s` for mingw - Lookup windres, dllwrap and objdump - Fix type. Reviewers: bgamari, hvr, Phyx, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4430
* Fix #14817 by not double-printing data family instance kind signaturesRyan Scott2018-03-024-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Within `pprDataFamInstDecl`, we were invoking `pprFamInstLHS` to pretty-print a data family instance header, and we were passing `Just` a kind signature to `pprFamInstLHS` to make it pretty-print the kind signature alongside it (this is a consequence of commit d1ef223cfebd23c25489a4b0c67fbaa2f91c1ec6). But this is silly, because then invoke `pp_data_defn`, which //also// pretty-prints the kind signature, resulting in the kind signature being printed twice by mistake. This fix is simple—pass `Nothing` to `pprFamInstLHS` instead. Test Plan: make test TEST=T14817 Reviewers: alanz, bgamari, mpickering Reviewed By: mpickering Subscribers: mpickering, rwbarton, thomie, carter GHC Trac Issues: #14817 Differential Revision: https://phabricator.haskell.org/D4418
* Add regression test for #12790Ryan Scott2018-03-022-0/+49
| | | | | | | | | | | | | | Test Plan: make test TEST=T12790 Reviewers: bgamari, mpickering Reviewed By: mpickering Subscribers: mpickering, dfeuer, rwbarton, thomie, carter GHC Trac Issues: #12790 Differential Revision: https://phabricator.haskell.org/D4412
* Improve exhaustive checking for guards in pattern bindings and MultiIf.HE, Tao2018-03-0211-16/+91
| | | | | | | | | | | | | | | | | | | | | | | Previously we didn't do exhaustive checking on MultiIf expressions and guards in pattern bindings. We can construct the `LMatch` directly from GRHSs or [LHsExpr] (MultiIf's alts) then feed it to checkMatches, without construct the MatchGroup and using function `matchWrapper`. Signed-off-by: HE, Tao <sighingnow@gmail.com> Test Plan: make test TEST="T14773a T14773b" Reviewers: bgamari, RyanGlScott, simonpj Reviewed By: bgamari, simonpj Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14773 Differential Revision: https://phabricator.haskell.org/D4400
* Move Data.Functor.Contravariant from the contravariant package to base.Andrew Martin2018-03-024-1/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move Data.Functor.Contravariant from the contravariant package to base. Since base is the bottom of the dependency hierarchy, several instances have been removed. They will need to be added to the following packages: transformers, StateVar, and possibly tagged. There may not actually have been any types from tagged that previous had instanced provided by this module though, since it may have only been used for Data.Proxy. Additionally, all CPP has been removed. Derived Typeable instances have been removed (since Typeable is now automatically derived for everything). The language extension Safe is still used, although it is unclear to ATM whether or not it is necessary. This resolves trac issue #14767. Test Plan: validate Reviewers: RyanGlScott, ekmett, hvr, bgamari Reviewed By: RyanGlScott Subscribers: rwbarton, thomie, ekmett, carter, RyanGlScott GHC Trac Issues: #14767 Differential Revision: https://phabricator.haskell.org/D4399
* Make cost centre symbol names deterministic.Shea Levy2018-03-0210-75/+188
| | | | | | | | | | | | | | | | | | | | | Previously, non-CAF cost centre symbol names contained a unique, leading to non-deterministic object files which, among other issues, can lead to an inconsistency causing linking failure when using cached builds sourced from multiple machines, such as with nix. Now, each cost centre symbol is annotated with the type of cost centre it is (CAF, expression annotation, declaration annotation, or HPC) and, when a single module has multiple cost centres with the same name and type, a 0-based index. Reviewers: bgamari, simonmar Reviewed By: bgamari Subscribers: niteria, simonmar, RyanGlScott, osa1, rwbarton, thomie, carter GHC Trac Issues: #4012, #12935 Differential Revision: https://phabricator.haskell.org/D4388
* Only load plugins onceMatthew Pickering2018-03-027-56/+99
| | | | | | | | | | | | | | Summary: This is part of D4342 which is worthwhile to merge on its own. Reviewers: nboldi, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4410 Co-authored-by: Boldizsar Nemeth <nboldi@elte.hu>
* rts: Note functions which must take all_tasks_mutex.Ben Gamari2018-03-023-0/+6
|
* forkProcess: fix task mutex release orderÖmer Sinan Ağacan2018-03-021-4/+4
| | | | | | | | | | | | | | `all_tasks_mutex` should be released before calling `releaseCapability_` in the parent process as `releaseCapability_` spawns worker tasks in some cases. Reviewers: bgamari, erikd, simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14538 Differential Revision: https://phabricator.haskell.org/D4460
* Cache the fingerprint of sOpt_PBartosz Nitka2018-03-025-2/+86
| | | | | | | | | | | | | | | | | | | | | Before this change we would compute a hash of all the command line -optP flags once per file. With a lot of files and many -optP flags, that's a lot of repeated work. I added a new Note that explains the approach and rationale. Test Plan: new test Reviewers: simonmar, simonpj, bgamari Reviewed By: simonpj Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14697 Differential Revision: https://phabricator.haskell.org/D4445
* Revert "Better stats for T5837"Ben Gamari2018-03-011-2/+1
| | | | This reverts commit d675a354e8db67d87d1f257c3d1d2bf2d58c2b3f.