summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix #17724 by having occAnal preserve used bindings.wip/andreask/T17724_occ_onlyAndreas Klebinger2020-02-185-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.
* 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
* Remove redundant caseSylvain Henry2020-02-081-4/+2
| | | | This alternative is redundant and triggers no warning when building with 8.6.5
* Update to hie-bios 0.3.2 style program cradlePepe Iborra2020-02-082-2/+4
|
* users-guide: Clarify that bundled patsyns were introduced in GHC 8.0Ben Gamari2020-02-081-3/+5
| | | | Closes #17094.
* Apply suggestion to libraries/base/GHC/List.hsJulien Debon2020-02-081-1/+1
|
* doc(Data.List): Add some examples to Data.ListJulien Debon2020-02-082-6/+72
|
* testsuite: Add test for #15316Ben Gamari2020-02-083-0/+28
| | | | This is the full testcase for T15316.
* hadrian: Depend upon libray dependencies when configuring packagesBen Gamari2020-02-082-1/+12
| | | | This will hopefully fix #17631.
* Fix GhcThreaded settingBen Gamari2020-02-086-2/+15
| | | | | | | | | | | | | | This adopts a patch from NetBSD's packaging fixing the `GhcThreaded` option of the make build system. In addition we introduce a `ghcThreaded` option in hadrian's `Flavour` type. Also fix Hadrian's treatment of the `Use Threaded` entry in `settings`. Previously it would incorrectly claim `Use Threaded = True` if we were building the `threaded` runtime way. However, this is inconsistent with the `make` build system, which defines it to be whether the `ghc` executable is linked against the threaded runtime. Fixes #17692.
* Optimize unpackCString# to allocate less.Andreas Klebinger2020-02-081-43/+54
| | | | | | | | | | | | | | | | | unpackCString# is a recursive function which for each iteration returns a Cons cell containing the current Char, and a thunk for unpacking the rest of the string. In this patch we change from storing addr + offset inside this thunk to storing only the addr, simply incrementing the address on each iteration. This saves one word of allocation per unpacked character. For a program like "main = print "<largishString>" this amounts to 2-3% fewer % in bytes allocated. I also removed the now redundant local unpack definitions. This removes one call per unpack operation.
* hadrian: Allow override of Cabal configuration in hadrian.settingsBen Gamari2020-02-082-20/+32
| | | | | Fixes #17612 by adding a `cabal.configure.opts` key for `hadrian.settings`.
* Bump stm and process submodulesBen Gamari2020-02-082-0/+0
|
* Introduce -Wcompat-unqualified-importsBen Gamari2020-02-0811-5/+102
| | | | | | | | | | | | | This implements the warning proposed in option (B) of the Data.List.singleton CLC [discussion][]. This warning, which is included in `-Wcompat` is intended to help users identify imports of modules that will change incompatibly in future GHC releases. This currently only includes `Data.List` due to the expected specialisation and addition of `Data.List.singleton`. Fixes #17244. [discussion]: https://groups.google.com/d/msg/haskell-core-libraries/q3zHLmzBa5E/PmlAs_kYAQAJ
* testsuite: Fix -Wcompat-unqualified-imports issuesBen Gamari2020-02-08101-108/+144
|
* compiler: Qualify imports of Data.ListBen Gamari2020-02-0831-48/+56
|