summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Modules: Core (#13009)Sylvain Henry2020-02-26151-723/+726
| | | | Update haddock submodule
* testsuite: Make hasMetricsFile RHS more descriptiveBen Gamari2020-02-261-1/+1
|
* Bump hsc2hs submoduleBen Gamari2020-02-261-0/+0
| | | | Fixes name of C compiler.
* SysTools: Don't use process jobs if they are brokenBen Gamari2020-02-261-8/+22
|
* gitlab-ci: Mark some tests as broken on AlpineBen Gamari2020-02-261-4/+7
|
* hadrian: Add --broken-test flagBen Gamari2020-02-264-0/+25
| | | | | This exposes the flag of the same name supported by the testsuite driver.
* testsuite: Allow tests to be marked as broken on the command lineBen Gamari2020-02-263-1/+13
| | | | This allows us to work-around distribution-specific breakage easily.
* gitlab-ci: Add run_hadrian subcommandBen Gamari2020-02-261-9/+11
| | | | | I've ruined two trees already by failing to pass --flavour to hadrian. Let's factor this out so it can be reused during troubleshooting.
* testsuite: Flush stdout buffers in InitEventLoggingBen Gamari2020-02-263-2/+7
| | | | | Otherwise we are sensitive to libc's buffering strategy. Similar to the issue fixed in 543dfaab166c81f46ac4af76918ce32190aaab22.
* gitlab-ci: Fix colors on DarwinBen Gamari2020-02-261-1/+1
| | | | Darwin sh doesn't support \e.
* gitlab-ci: Add shell subcommand for debugging within CI environmentBen Gamari2020-02-261-0/+10
|
* testsuite: Fix symlink testBen Gamari2020-02-261-1/+1
| | | | Needs to `write` bytes, not str.
* gitlab-ci: Use 8.8.3 to bootstrap on WindowsBen Gamari2020-02-261-1/+1
| | | | This should fix #17861.
* Remove dead codeKrzysztof Gogolewski2020-02-268-48/+16
| | | | | | * FailablePattern can no longer be created since ab51bee40c82 Therefore, Opt_WarnMissingMonadFailInstances has no effect anymore. * XWrap is no longer used, it was moved to an extension field
* hadrian: Tell Cabal about integer-gmp library locationBen Gamari2020-02-261-4/+17
|
* hadrian: Refactor gmp argumentsBen Gamari2020-02-261-10/+14
| | | | Move the gmp configuration to its own binding.
* hadrian: Allow libnuma library path to be specifiedBen Gamari2020-02-265-1/+49
|
* Treat coercions as arguments for floating and inliningAlexis King2020-02-268-18/+79
| | | | | This reverts commit 8924224ecfa065ebc67b96a90d01cf9d2edd0e77 and fixes #17787.
* Modules: CmmToAsm (#13009)Sylvain Henry2020-02-2475-534/+493
|
* Comments, small refactorKrzysztof Gogolewski2020-02-245-68/+13
| | | | | | | | | | | | * Remove outdated Note [HsForAllTy tyvar binders] and [Context quantification]. Since the wildcard refactor 1e041b7382, HsForAllTy no longer has an flag controlling explicity. The field `hsq_implicit` is gone too. The current situation is covered by Note [HsType binders] which is already linked from LHsQTyVars. * Small refactor in CoreLint, extracting common code to a function * Remove "not so sure about WpFun" in TcEvidence, per Richard's comment https://gitlab.haskell.org/ghc/ghc/merge_requests/852#note_223226 * Use mkIfThenElse in Foreign/Call, as it does exactly what we need.
* check for safe arguments, raising error when invalid (fix #17720)Stefan Pavikevik2020-02-246-3/+78
|
* Bump directory submodule to 1.3.6.0Ben Gamari2020-02-241-0/+0
|
* users-guide: Drop old release notesBen Gamari2020-02-243-663/+0
|
* users-guide: Shuffle textBen Gamari2020-02-241-18/+16
|
* Remove Ord SrcLoc, Ord SrcSpanVladislav Zavialov2020-02-2423-114/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, GHC relied on Ord SrcSpan to identify source elements, by using SrcSpan as Map keys: blackList :: Map SrcSpan () -- compiler/GHC/HsToCore/Coverage.hs instanceMap :: Map SrcSpan Name -- compiler/GHC/HsToCore/Docs.hs Firstly, this design is not valid in presence of UnhelpfulSpan, as it distinguishes between UnhelpfulSpan "X" and UnhelpfulSpan "Y", but those strings are messages for the user, unfit to serve as identifiers for source elements. Secondly, this design made it hard to extend SrcSpan with additional data. Recall that the definition of SrcSpan is: data SrcSpan = RealSrcSpan !RealSrcSpan | UnhelpfulSpan !FastString Say we want to extend the RealSrcSpan constructor with additional information: data SrcSpan = RealSrcSpan !RealSrcSpan !AdditionalInformation | UnhelpfulSpan !FastString getAdditionalInformation :: SrcSpan -> AdditionalInformation getAdditionalInformation (RealSrcSpan _ a) = a Now, in order for Map SrcSpan to keep working correctly, we must *ignore* additional information when comparing SrcSpan values: instance Ord SrcSpan where compare (RealSrcSpan r1 _) (RealSrcSpan r2 _) = compare r1 r2 ... However, this would violate an important law: a == b therefore f a == f b Ignoring AdditionalInformation in comparisons would mean that with f=getAdditionalInformation, the law above does not hold. A more robust design is to avoid Ord SrcSpan altogether, which is what this patch implements. The mappings are changed to use RealSrcSpan instead: blackList :: Set RealSrcSpan -- compiler/GHC/HsToCore/Coverage.hs instanceMap :: Map RealSrcSpan Name -- compiler/GHC/HsToCore/Docs.hs All SrcSpan comparisons are now done with explicit comparison strategies: SrcLoc.leftmost_smallest SrcLoc.leftmost_largest SrcLoc.rightmost_smallest These strategies are not subject to the law mentioned above and can easily discard both the string stored in UnhelpfulSpan and AdditionalInformation. Updates haddock submodule.
* ci: after 5ce63d52fed the linux bindist for doc-tarball has changed nameAdam Sandberg Ericsson2020-02-231-1/+1
|
* hadrian: docs depend on stage1 ghcAdam Sandberg Ericsson2020-02-231-1/+3
|
* show gcc linker options in configure summaryAdam Sandberg Ericsson2020-02-231-0/+1
|
* fs: Port fixes from ghc-jailbreak repositoryBen Gamari2020-02-231-25/+89
| | | | | * Override rename, unlink, and remove * Factor out wchar conversion
* Hadrian: `docs` rule needs `configure` (#17840)Sylvain Henry2020-02-211-0/+4
|
* Modules: Driver (#13009)Sylvain Henry2020-02-21330-677/+679
| | | | submodule updates: nofib, haddock
* Parser API annotations: RealSrcLocVladislav Zavialov2020-02-2150-202/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During parsing, GHC collects lexical information about AST nodes and stores it in a map. It is needed to faithfully restore original source code, e.g. compare these expressions: a = b a = b The position of the equality sign is not recorded in the AST, so it must be stored elsewhere. This system is described in Note [Api annotations]. Before this patch, the mapping was represented by: Map (SrcSpan, AnnKeywordId) SrcSpan After this patch, the mapping is represented by: Map (RealSrcSpan, AnnKeywordId) RealSrcSpan The motivation behind this change is to avoid using the Ord SrcSpan instance (required by Map here), as it interferes with #17632 (see the discussion there). SrcSpan is isomorphic to Either String RealSrcSpan, but we shouldn't use those strings as Map keys. Those strings are intended as hints to the user, e.g. "<interactive>" or "<compiler-generated code>", so they are not a valid way to identify nodes in the source code.
* TH: wrapGenSyns, don't split the element type too muchMatthew Pickering2020-02-213-3/+70
| | | | | | | | | The invariant which allowed the pervious method of splitting the type of the body to find the type of the elements didn't work in the new overloaded quotation world as the type can be something like `WriterT () m a` rather than `Q a` like before. Fixes #17839
* Special case `mkTyConApp liftedTypeKind []`Matthew Pickering2020-02-212-2/+38
| | | | | | | | | | | | | We really need to make sure that these are shared because otherwise GHC will allocate thousands of identical `TyConApp` nodes. See #17292 ------------------------- Metric Decrease: haddock.Cabal T14683 -------------------------
* Hadrian: fix source-dist target (#17849)Sylvain Henry2020-02-201-21/+11
|
* Make: fix sdist target (#17848)Sylvain Henry2020-02-202-3/+3
|
* Generalize liftData to work over any Quote (#17857)Ryan Scott2020-02-205-26/+42
| | | | | | | | | The Overloaded Quotations proposal generalized the type of `lift` to work over any `Quote`, but not the type of `liftData`, leading to #17857. Thankfully, generalizing `liftData` is extremely straightforward. Fixes #17857.
* Hadrian: minor GMP refactoringSylvain Henry2020-02-201-23/+27
| | | | | | Somehow I forgot to totally remove `gmpContext` in d7029cc09edc052c2f97effe33233c53340fcce0. This patch fixes it and adds some additional comments.
* users-guide: Mention dependency on `exceptions` in release notesBen Gamari2020-02-202-0/+2
| | | | Fixes #17845.
* Fix #17724 by having occAnal preserve used bindings.Andreas Klebinger2020-02-205-1/+127
| | | | | | It sometimes happened that occAnal would remove bindings as dead code by relying on bindings to be in dependency order. The fix was contributed by SPJ.
* Enable -Wstar-is-type in -WallBen Gamari2020-02-203-3/+3
| | | | | | | | | | As noted in [proposal 0143][proposal] this is supposed to happen in 8.12. Also fix an incorrect claim in the users guide that -Wstar-is-type is enabled by default. [proposal]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0143-remove-star-kind.rst
* Use Type instead of * in GHCBen Gamari2020-02-207-14/+22
|
* GHC.Hs.Extension: Use Type instead of *Ben Gamari2020-02-201-1/+1
|
* gitlab-ci: Avoid duplicating ~/.cabal contents with every buildBen Gamari2020-02-201-1/+2
| | | | | | | | Previously our attempt to cache the cabal store would `cp cabal-cache ~/.cabal`. However, if the latter already existed this meant that we would end up with ~/.cabal/cabal-cache. Not only would this not help caching but it would exponentially grow the size of ~/.cabal. Not good!
* gitlab-ci: Fix typo in BIN_DIST_PREP_TAR_COMP variable nameBen Gamari2020-02-201-2/+2
|
* Mention users guide and release notes in merge request templateAdam Sandberg Eriksson2020-02-201-2/+3
|
* Normalize types when dropping absent arguments from workersAlexis King2020-02-204-7/+21
| | | | fixes #17852
* Use TTG for HsSplicedT constructorKrzysztof Gogolewski2020-02-207-22/+26
| | | | | The constructor HsSplicedT occurs only in the GhcTc pass. This enforces this fact statically via TTG.
* Fix #17832: Weird handling of exports named main in 8.10-rc1Roland Senn2020-02-206-5/+23
| | | | | | | Switching from `lookupGlobalOccRn_maybe` to `lookupInfoOccRn` to check whether a `main` function is in scope. Unfortunately `lookupGlobalOccRn_maybe` complains if there are multiple `main` functions in scope.
* Use concatMap(M) instead of `concat . map` and the monadic variantÖmer Sinan Ağacan2020-02-2017-22/+24
|