summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* testsuite: Rewrite timeoutwip/timeout-rewriteBen Gamari2020-02-153-535/+45
|
* Hadrian: drop Sphinx flag checking for PDF documentation (#17825)Sylvain Henry2020-02-141-2/+0
| | | | | | | It seems that Sphinx produces the ghc-flags.txt in doc/users_guide/_build rather than pdfRoot. We could copy ghc-flags.txt into pdfRoot (like happens naturally in the HTML case) but the benefit is pretty small. Let's just only check the HTML case.
* De-duplicate overlapping NotesSimon Peyton Jones2020-02-142-44/+26
| | | | Documentation only. Fixes #17827
* Module hierarchy: HsToCore (cf #13009)Sylvain Henry2020-02-1460-240/+254
|
* hadrian: Add execution and target architecture to stage-compilation figureBen Gamari2020-02-141-47/+198
|
* Add explicit LANGUAGE Safe to template-haskellOleg Grenrus2020-02-149-3/+11
| | | (cherry picked from commit a5e0f376821ca882880b03b07b451aa574e289ec)
* GMP expects the Target platform as --host parameterSylvain Henry2020-02-141-2/+2
|
* Add test for #17648Ömer Sinan Ağacan2020-02-143-0/+29
|
* Ensure that Hadrian is built correctly before using itSylvain Henry2020-02-131-0/+3
| | | | | When Hadrian failed to build, the script would pick a previously built Hadrian (if available) instead of failing.
* Fix flag documentation (#17826)Sylvain Henry2020-02-131-2/+4
|
* Remove -ddump-srts flagSylvain Henry2020-02-132-7/+0
| | | | This flag is deemed not useful.
* Always display inferred variables using bracesKrzysztof Gogolewski2020-02-1293-444/+520
| | | | | | | | | | | | | We now always show "forall {a}. T" for inferred variables, previously this was controlled by -fprint-explicit-foralls. This implements part 1 of https://github.com/ghc-proposals/ghc-proposals/pull/179. Part of GHC ticket #16320. Furthermore, when printing a levity restriction error, we now display the HsWrap of the expression. This lets users see the full elaboration with -fprint-typechecker-elaboration (see also #17670)
* base: Update Unicode database to 12.1.0Ben Gamari2020-02-122-6/+5
| | | | | Using `curl https://www.unicode.org/Public/12.1.0/ucd/UnicodeData.txt | libraries/base/cbits/ubconfc 12.1.0`.
* base: Expose GHC.Unicode.unicodeVersionBen Gamari2020-02-126-12/+65
| | | | | | | | | | | | | This exposes a Data.Version.Version representing the version of the Unicode database used by `base`. This should clear up some confusion I have seen in tickets regarding with which Unicode versions a given GHC can be expected to work. While in town I also regenerated (but did not update) the Unicode database with database 12.0.0. Strangely, the file cited in the README no longer existed. Consequently, I used https://www.unicode.org/Public/12.0.0/ucd/UnicodeData.txt and was slightly surprised to find that there were a few changes.
* Separate CPR analysis from the Demand analyserwip/sep-cprSebastian Graf2020-02-1261-791/+1454
| | | | | | | | | | | | | | | | | | | The reasons for that can be found in the wiki: https://gitlab.haskell.org/ghc/ghc/wikis/nested-cpr/split-off-cpr We now run CPR after demand analysis (except for after the final demand analysis run just before code gen). CPR got its own dump flags (`-ddump-cpr-anal`, `-ddump-cpr-signatures`), but not its own flag to activate/deactivate. It will run with `-fstrictness`/`-fworker-wrapper`. As explained on the wiki page, this step is necessary for a sane Nested CPR analysis. And it has quite positive impact on compiler performance: Metric Decrease: T9233 T9675 T9961 T15263
* Fix order of arguments in specializer (#17801)Krzysztof Gogolewski2020-02-121-1/+1
| | | | | | See https://gitlab.haskell.org/ghc/ghc/issues/17801#note_253330 No regression test, as it's hard to trigger.
* Add regression test for #12926Ömer Sinan Ağacan2020-02-122-0/+37
| | | | Closes #12926
* Fix naming of tests for #12923Ömer Sinan Ağacan2020-02-124-3/+3
|
* Module hierarchy: ByteCode and Runtime (cf #13009)Sylvain Henry2020-02-1274-182/+190
| | | | Update haddock submodule
* Document GMP build [skip ci]Sylvain Henry2020-02-121-0/+80
|
* Remove Hadrian's copy of (Data.Functor.<&>)Ömer Sinan Ağacan2020-02-111-11/+1
| | | | The function was added to base with base-4.11 (GHC 8.4)
* TemplateHaskellQuotes: Allow nested splicesMatthew Pickering2020-02-1113-11/+83
| | | | | | There is no issue with nested splices as they do not require any compile time code execution. All execution is delayed until the top-level splice.
* hadrian: build (and ship) iserv on WindowsAlp Mestanogullari2020-02-113-19/+16
|
* Notes only: telescopesSimon Peyton Jones2020-02-114-37/+18
| | | | This documentation-only patch fixes #17793
* configure: Don't assume Gnu linker on SolarisBen Gamari2020-02-111-1/+12
| | | | | | | Compl Yue noticed that the linker was dumping the link map on SmartOS. This is because Smartos uses the Solaris linker, which uses the `-64` flag, not `-m64` like Gnu ld, to indicate that it should link for 64-bits. Fix the configure script to handle the Solaris linker correctly.
* Add arithmetic exception primops (#14664)Sylvain Henry2020-02-1112-0/+105
|
* rts: Remove incorrect assertions around MSG_THROWTO messagesBen Gamari2020-02-111-3/+0
| | | | | | | | | | Previously we would assert that threads which are sending a `MSG_THROWTO` message must have their blocking status be blocked on the message. In the usual case of a thread throwing to another thread this is guaranteed by `stg_killThreadzh`. However, `throwToSelf`, used by the GC to kill threads which ran out of heap, failed to guarantee this. Noted while debugging #17785.
* rts: Use nanosleep instead of usleepBen Gamari2020-02-113-2/+22
| | | | usleep was removed in POSIX.1-2008.
* Do not create nested quantified constraintsRichard Eisenberg2020-02-1111-36/+194
| | | | | | | | | | | | | Previously, we would accidentally make constraints like forall a. C a => forall b. D b => E a b c as we traversed superclasses. No longer! This patch also expands Note [Eagerly expand given superclasses] to work over quantified constraints; necessary for T16502b. Close #17202 and #16502. test cases: typecheck/should_compile/T{17202,16502{,b}}
* Add singleton to Data.OldListOleg Grenrus2020-02-111-0/+11
|
* Fs: Fix UNC remapping code.Tamar Christina2020-02-101-2/+6
|
* Fix long distance info for record updatesSebastian Graf2020-02-104-6/+49
| | | | | | | | | | | | | | | | | | For record updates where the `record_expr` is a variable, as in #17783: ```hs data PartialRec = No | Yes { a :: Int, b :: Bool } update No = No update r@(Yes {}) = r { b = False } ``` We should make use of long distance info in `-Wincomplete-record-updates` checking. But the call to `matchWrapper` in the `RecUpd` case didn't specify a scrutinee expression, which would correspond to the `record_expr` `r` here. That is fixed now. Fixes #17783.
* Add regression test for #13142Ömer Sinan Ağacan2020-02-092-0/+161
| | | | Closes #13142
* 8.10 Release notes for improvements to the pattern-match checker [skip ci]Sebastian Graf2020-02-091-0/+14
| | | | A little late to the game, but better late than never.
* Force -fPIC for intree GMP (fix #17799)Sylvain Henry2020-02-093-46/+2
| | | | | Configure intree GMP with `--with-pic` instead of patching it. Moreover the correct patching was only done for x86_64/darwin (see #17799).
* Fix -ddump-stg-final.Andreas Klebinger2020-02-092-3/+2
| | | | Once again make sure this dumps the STG used for codegen.
* Fix #14628: Panic (No skolem Info) in GHCiRoland Senn2020-02-097-11/+52
| | | | | | | | | | | | | | This patch implements the [sugggestion from Simon (PJ)](https://gitlab.haskell.org/ghc/ghc/issues/14628#note_146559): - Make `TcErrors.getSkolemInfo` return a `SkolemInfo` rather than an `Implication`. - If `getSkolemInfo` gets `RuntimeUnk`s, just return a new data constructor in `SkolemInfo`, called `RuntimeUnkSkol`. - In `TcErrors.pprSkols` print something sensible for a `RuntimeUnkSkol`. The `getSkolemInfo` function paniced while formating suggestions to add type annotations (subfunction `suggestAddSig`) to a *"Couldn't match type ‘x’ with ‘y’"* error message. The `getSkolemInfo` function didn't find any Implication value and paniced. With this patch the `getSkolemInfo` function does no longer panic, if it finds `RuntimeUnkSkol`s. As the panic occured while processing an error message, we don't need to implement any new error message!
* hadrian: Windows fixes (bindists, CI)Alp Mestanogullari2020-02-095-25/+37
| | | | | | | | | | | | | | | | | | | This commit implements a few Windows-specific fixes which get us from a CI job that can't even get as far as starting the testsuite driver, to a state where we can run the entire testssuite (but have test failures to fix). - Don't forget about a potential extension for the haddock program, when preparing the bindist. - Build the timeout program, used by the testsuite driver on Windows in place of the Python script used elsewhere, using the boot compiler. We could alternatively build it with the compiler that we're going to test but this would be a lot more tedious to write. - Implement a wrapper-script less installation procedure for Windows, in `hadrian/bindist/Makefile. - Make dependencies a bit more accurate in the aforementioned Makefile. - Update Windows/Hadrian CI job accordingly. This patch fixes #17486.
* Fix an outdated note linkArnaud Spiwack2020-02-091-1/+1
| | | | | This link appears to have been forgotten in 0dad81ca5fd1f63bf8a3b6ad09787559e8bd05c0 .
* hadrian: Fix --test-summary argumentBen Gamari2020-02-091-4/+4
| | | | This appears to be a cut-and-paste error.
* hadrian: Add --test-metrics argumentBen Gamari2020-02-093-1/+14
| | | | | Allowing the test metric output to be captured to a file, a la the METRIC_FILE environment variable of the make build system.
* Add a test for #15712Krzysztof Gogolewski2020-02-093-0/+25
|
* rts: Fix need_prealloc being reset when retainer profiling is onDaniel Gröber2020-02-081-1/+1
|
* rts: Fix Arena blocks accounting for MBlock sized allocationsDaniel Gröber2020-02-081-1/+1
| | | | | | | | When requesting more than BLOCKS_PER_MBLOCK blocks allocGroup can return a different number of blocks than requested. Here we use the number of requested blocks, however arenaFree will subtract the actual number of blocks we got from arena_blocks (possibly) resulting in a negative value and triggering ASSERT(arena_blocks >= 0).
* base: Drop out-of-date commentBen Gamari2020-02-081-12/+0
| | | | | | | | | | | The comment in GHC.Base claimed that ($) couldn't be used in that module as it was wired-in. However, this is no longer true; ($) is merely known key and is defined in Haskell (with a RuntimeRep-polymorphic type) in GHC.Base. The one piece of magic that ($) retains is that it a special typing rule to allow type inference with higher-rank types (e.g. `runST $ blah`; see Note [Typing rule for ($)] in TcExpr).
* Add regression test for #12760Ömer Sinan Ağacan2020-02-082-0/+37
| | | | | | The bug seems to be fixed in the meantime, make sure it stays fixed. Closes #12760
* Import qualified Prelude in parserÖmer Sinan Ağacan2020-02-081-0/+1
| | | | | This is in preparation of backwards-incompatible changes in happy. See https://github.com/simonmar/happy/issues/166
* includes: Avoid using single-line comments in HsFFI.hBen Gamari2020-02-082-15/+23
| | | | | While single-line comments are supported by C99, dtrace on SmartOS apparently doesn't support them yet.
* Rename ghcAssert to stgAssert in hp2ps/Main.h.Andreas Klebinger2020-02-081-2/+2
| | | This fixes #17763
* Add mkHieFileWithSource which doesn't read the source file from diskMatthew Pickering2020-02-081-5/+14
| | | | cc/ @pepeiborra