summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "Disable the SRT offset optimisation on MachO platforms"Simon Marlow2018-09-134-43/+5
| | | | This reverts commit bf10456edaa03dc010821cd4c3d9f49cb11d89da.
* Revert incorrect STM wakeup optimisationÖmer Sinan Ağacan2018-09-131-11/+6
| | | | | | | | | | | | | | Summary: (see the comments) Reviewers: simonmar, bgamari, erikd Reviewed By: simonmar Subscribers: rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5144 (cherry picked from commit 36740b4c346c619e31d24d6672caa6f4f7fea123)
* Fix gcCAFs()Simon Marlow2018-09-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test here should have been changed after D1106. It was harmless but we caught fewer GC'd CAFs than we should have. Test Plan: Using `nofib/imaginary/primes` compiled with `-debug`. Before: ``` > ./primes 100 +RTS -G1 -A32k -DG CAF gc'd at 0x0x7b0960 CAF gc'd at 0x0x788728 CAF gc'd at 0x0x790db0 CAF gc'd at 0x0x790de0 12 CAFs live CAF gc'd at 0x0x788880 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 547 CAF gc'd at 0x0x7995c8 13 CAFs live ``` After: ``` > ./primes 100 +RTS -G1 -A32k -DG CAF gc'd at 0x0x7b0960 CAF gc'd at 0x0x788728 CAF gc'd at 0x0x790db0 CAF gc'd at 0x0x790de0 12 CAFs live CAF gc'd at 0x0x788880 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 12 CAFs live 547 CAF gc'd at 0x0x7995c8 CAF gc'd at 0x0x790ea0 12 CAFs live ``` Reviewers: bgamari, osa1, erikd, noamz Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4963 (cherry picked from commit e431d75f8350f25159f9aaa49fe9a504e94bc0a4)
* template-haskell: Fix typo in changelogBen Gamari2018-09-121-1/+1
|
* rts: Handle SMALL_MUT_ARR_PTRS in retainer profilterBen Gamari2018-09-071-0/+4
| | | | | | | | | | | | | | | | Summary: These can be treated similarly to MUT_ARRY_PTRS. Fixes #15529. Reviewers: erikd, simonmar Reviewed By: simonmar Subscribers: RyanGlScott, rwbarton, carter GHC Trac Issues: #15529 Differential Revision: https://phabricator.haskell.org/D5075 (cherry picked from commit 2cf98e2207421200fc73c25a08f6435859cdff92)
* Fixed typo in exponent examplechris-bacon2018-09-071-1/+1
| | | | (cherry picked from commit 36c1431d9d2d06049190cc0888dbfaee8e2179d6)
* Fix a constant folding ruleAndrey Mokhov2018-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: One of the constant folding rules introduced in D2858 is: ``` (L y :-: v) :-: (L x :-: w) -> return $ mkL (y-x) `add` (w `add` v) ``` Or, after removing syntactic noise: `(y - v) - (x - w) ==> (y - x) + (w + v)`. This is incorrect, since the sign of `v` is changed from negative to positive. As a consequence, the following program prints `3` when compiled with `-O`: ``` -- This is just subtraction in disguise minus :: Int -> Int -> Int minus x y = (8 - y) - (8 - x) {-# NOINLINE minus #-} main :: IO () main = print (2 `minus` 1) ``` The correct rule is: `(y - v) - (x - w) ==> (y - x) + (w - v)`. This commit does the fix. I haven't found any other issues with the constant folding code, but it's difficult to be certain without some automated checking. Reviewers: bgamari, tdammers Subscribers: hsyl20, tdammers, rwbarton, carter GHC Trac Issues: #15569 Differential Revision: https://phabricator.haskell.org/D5109 (cherry picked from commit 65eec9cfd4410c0e30b0ed06116c15f8ce3de49d)
* Fix typo in 8.6.1 notesKrzysztof Gogolewski2018-09-071-1/+1
| | | | (cherry picked from commit 34b8e613606653187f1ffae36a83e33f0c673720)
* Skip eventlog tests in GHCi wayÖmer Sinan Ağacan2018-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: (GHCi doesn't generate event logs) Test Plan: These tests were failing in GHCi way, they're now skipped in GHCi way as GHCi doesn't generate eventlogs Reviewers: bgamari, simonmar, maoe, alpmestan Reviewed By: alpmestan Subscribers: rwbarton, carter GHC Trac Issues: #15587 Differential Revision: https://phabricator.haskell.org/D5119 (cherry picked from commit c0e5087d01e2912f00feede6c259a2ee87685c90)
* Fix a race between GC threads in concurrent scavengingÖmer Sinan Ağacan2018-09-072-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While debugging #15285 I realized that free block lists (free_list in BlockAlloc.c) get corrupted when multiple scavenge threads allocate and release blocks concurrently. Here's a picture of one such race: Thread 2 (Thread 32573.32601): #0 check_tail (bd=0x940d40 <stg_TSO_info>) at rts/sm/BlockAlloc.c:860 #1 0x0000000000928ef7 in checkFreeListSanity () at rts/sm/BlockAlloc.c:896 #2 0x0000000000928979 in freeGroup (p=0x7e998ce02880) at rts/sm/BlockAlloc.c:721 #3 0x0000000000928a17 in freeChain (bd=0x7e998ce02880) at rts/sm/BlockAlloc.c:738 #4 0x0000000000926911 in freeChain_sync (bd=0x7e998ce02880) at rts/sm/GCUtils.c:80 #5 0x0000000000934720 in scavenge_capability_mut_lists (cap=0x1acae80) at rts/sm/Scav.c:1665 #6 0x000000000092b411 in gcWorkerThread (cap=0x1acae80) at rts/sm/GC.c:1157 #7 0x000000000090be9a in yieldCapability (pCap=0x7f9994e69e20, task=0x7e9984000b70, gcAllowed=true) at rts/Capability.c:861 #8 0x0000000000906120 in scheduleYield (pcap=0x7f9994e69e50, task=0x7e9984000b70) at rts/Schedule.c:673 #9 0x0000000000905500 in schedule (initialCapability=0x1acae80, task=0x7e9984000b70) at rts/Schedule.c:293 #10 0x0000000000908d4f in scheduleWorker (cap=0x1acae80, task=0x7e9984000b70) at rts/Schedule.c:2554 #11 0x000000000091a30a in workerStart (task=0x7e9984000b70) at rts/Task.c:444 #12 0x00007f99937fa6db in start_thread (arg=0x7f9994e6a700) at pthread_create.c:463 #13 0x000061654d59f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 32573.32573): #0 checkFreeListSanity () at rts/sm/BlockAlloc.c:887 #1 0x0000000000928979 in freeGroup (p=0x7e998d303540) at rts/sm/BlockAlloc.c:721 #2 0x0000000000926f23 in todo_block_full (size=513, ws=0x1aa8ce0) at rts/sm/GCUtils.c:264 #3 0x00000000009583b9 in alloc_for_copy (size=513, gen_no=0) at rts/sm/Evac.c:80 #4 0x000000000095850d in copy_tag_nolock (p=0x7e998c675f28, info=0x421d98 <Main_Large_con_info>, src=0x7e998d075d80, size=513, gen_no=0, tag=1) at rts/sm/Evac.c:153 #5 0x0000000000959177 in evacuate (p=0x7e998c675f28) at rts/sm/Evac.c:715 #6 0x0000000000932388 in scavenge_small_bitmap (p=0x7e998c675f28, size=1, bitmap=0) at rts/sm/Scav.c:271 #7 0x0000000000934aaf in scavenge_stack (p=0x7e998c675f28, stack_end=0x7e998c676000) at rts/sm/Scav.c:1908 #8 0x0000000000934295 in scavenge_one (p=0x7e998c66e000) at rts/sm/Scav.c:1466 #9 0x0000000000934662 in scavenge_mutable_list (bd=0x7e998d300440, gen=0x1b1d880) at rts/sm/Scav.c:1643 #10 0x0000000000934700 in scavenge_capability_mut_lists (cap=0x1aaa340) at rts/sm/Scav.c:1664 #11 0x00000000009299b6 in GarbageCollect (collect_gen=0, do_heap_census=false, gc_type=2, cap=0x1aaa340, idle_cap=0x1b38aa0) at rts/sm/GC.c:378 #12 0x0000000000907a4a in scheduleDoGC (pcap=0x7ffdec5b5310, task=0x1b36650, force_major=false) at rts/Schedule.c:1798 #13 0x0000000000905de7 in schedule (initialCapability=0x1aaa340, task=0x1b36650) at rts/Schedule.c:546 #14 0x0000000000908bc4 in scheduleWaitThread (tso=0x7e998c0067c8, ret=0x0, pcap=0x7ffdec5b5430) at rts/Schedule.c:2537 #15 0x000000000091b5a0 in rts_evalLazyIO (cap=0x7ffdec5b5430, p=0x9c11f0, ret=0x0) at rts/RtsAPI.c:530 #16 0x000000000091ca56 in hs_main (argc=1, argv=0x7ffdec5b5628, main_closure=0x9c11f0, rts_config=...) at rts/RtsMain.c:72 #17 0x0000000000421ea0 in main () In particular, dbl_link_onto() which is used to add a freed block to a doubly-linked free list is not thread safe and corrupts the list when called concurrently. Note that thread 1 is to blame here as thread 2 is properly taking the spinlock. With this patch we now take the spinlock when freeing a todo block in GC, avoiding this race. Test Plan: - Tried slow validate locally: this patch does not introduce new failures. - circleci: https://circleci.com/gh/ghc/ghc-diffs/283 The test got killed because it took 5 hours but T7919 (which was previously failing on circleci) passed. Reviewers: simonmar, bgamari, erikd Reviewed By: simonmar Subscribers: rwbarton, carter GHC Trac Issues: #15285 Differential Revision: https://phabricator.haskell.org/D5115 (cherry picked from commit c6fbac6a6a69a2f4be89701b2c386ae53214f9a3)
* Bump Cabal submodule to 2.4.0.0Ben Gamari2018-09-071-0/+0
|
* Do a final pass over the changelogsBen Gamari2018-09-076-15/+33
|
* Expose the StableName constructorDavid Feuer2018-08-233-73/+109
| | | | | | | | | | | | | | | | | | | | | | * Move the definition of `StableName` from `System.Mem.StableName` to a new `GHC.StableName` module. * Expose the `StableName` data constructor from `GHC.StableName`. Once we have `UnliftedArray#`, this will enable `StableName`s to be stored in `UnliftedArray`s (from `primitive`) without unsafe coercions. Reviewers: hvr, bgamari, andrewthad, osa1 Reviewed By: osa1 Subscribers: osa1, rwbarton, carter GHC Trac Issues: #15535 Differential Revision: https://phabricator.haskell.org/D5078 (cherry picked from commit 9c4e6c6b1affd410604f8f76ecf56abfcc5cccb6)
* Properly designate LambdaCase alts as CaseAlt in THRyan Scott2018-08-234-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | Summary: When `\case` expressions are parsed normally, their alternatives are marked as `CaseAlt` (which means that they are pretty-printed without a `\` character in front of them, unlike for lambda expressions). However, `\case` expressions created by way of Template Haskell (in `Convert`) inconsistently designated the case alternatives as `LambdaExpr`, causing them to be pretty-printed poorly (as shown in #15518). The fix is simple: use `CaseAlt` consistently. Test Plan: make test TEST=T15518 Reviewers: goldfire, bgamari Subscribers: rwbarton, carter GHC Trac Issues: #15518 Differential Revision: https://phabricator.haskell.org/D5069 (cherry picked from commit 32008a9d0e09f0cc8899aa871d9a6b63fcc28a1a)
* Suppress redundant givens during error reportingRyan Scott2018-08-235-3/+100
| | | | | | | | | | | | | | | | | | | | | Summary: When GHC reports that it cannot solve a constraint in error messages, it often reports what given constraints it has in scope. Unfortunately, sometimes redundant constraints (like `* ~ *`, from #15361) can sneak in. The fix is simple: blast away these redundant constraints using `mkMinimalBySCs`. Test Plan: make test TEST=T15361 Reviewers: simonpj, bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #15361 Differential Revision: https://phabricator.haskell.org/D5002 (cherry picked from commit c552feea127d8ed8cbf4994a157c4bbe254b96c3)
* --show-iface: Qualify all non-local namesSimon Jakobi2018-08-235-16/+28
| | | | | | | | | | | | | | | | | | | | | | Summary: In order to disambiguate names from different modules, qualify all names that don't originate in the current module. Also update docs for QueryQualifyName Test Plan: validate Reviewers: simonpj, bgamari Reviewed By: simonpj Subscribers: rwbarton, thomie, carter, tdammers GHC Trac Issues: #15269 Differential Revision: https://phabricator.haskell.org/D4852 (cherry picked from commit d42eef344a71990d12f27e88cdf10ba0b2a2f34b)
* Accommodate API change in transSuperClassesSimon Peyton Jones2018-08-232-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | In this patch commit 6eabb6ddb7c53784792ee26b1e0657bde7eee7fb Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Tue Dec 15 14:26:13 2015 +0000 Allow recursive (undecidable) superclasses I changed (transSuperClasses p) to return only the superclasses of p, but not p itself. (Previously it always returned p as well.) The use of transSuperClasses in TcErrors.warnRedundantConstraints really needs 'p' in the result -- but I faild to fix this call site, and instead crippled the test for Trac #10100. This patch sets things right * Accomodates the API change * Re-enables T10100 * And thereby fixes Trac #11474 (cherry picked from commit 4293a80a3ea835412737911bcb2a6703e9af378b)
* Fix a typo in TcValidity.checkFamInstRhsSimon Peyton Jones2018-08-233-11/+23
| | | | | | | | | | | | | | | | | | | | | | | In error message generation we were using the wrong type constructor in inst_head. Result: the type became ill-kinded, and that sent the compiler into a loop. A separate patch fixes the loop. This patch fixes the actual bug -- Trac #15473. I also improved the "occurs more often" error message a bit. But it's still pretty terrible: * Variable ‘a’ occurs more often in the type family application ‘Undefined’ than in the instance head ‘LetInterleave xs t ts is y z’ It looks like nonsense, but all becomes clear if you use -fprint-explicit-kinds. Really we should fix this by spotting when invisible arguments are involved and at least suggesting -fprint-explicit-kinds. (cherry picked from commit 8c7f90abcc1e8f9f29b751f23174e8db89ba6983)
* Turn infinite loop into a panicSimon Peyton Jones2018-08-232-7/+22
| | | | | | | | | | | | | | | | In these two functions * TcIface.toIfaceAppTyArgsX * Type.piResultTys we take a type application (f t1 .. tn) and try to find its kind. It turned out that, if (f t1 .. tn) was ill-kinded the function would go into an infinite loop. That's not good: it caused the loop in Trac #15473. This patch doesn't fix the bug in #15473, but it does turn the loop into a decent panic, which is a step forward. (cherry picked from commit db6f1d9cfc74690798645a7cc5b25040c36bb35d)
* testsuite: Add (broken) test for #15473Ben Gamari2018-08-232-1/+13
| | | | (cherry picked from commit 5487f305d9dea298f0822082389d8a0225956c55)
* Explicitly tell 'getNameToInstances' mods to loadAlec Theriault2018-08-232-5/+13
| | | | | | | | | | | | | | | | | | | | | Calculating which modules to load based on the InteractiveContext means maintaining a potentially very large GblRdrEnv. In Haddock's case, it is much cheaper (from a memory perspective) to just keep track of which modules interfaces we want loaded then hand these off explicitly to 'getNameToInstancesIndex'. Bumps haddock submodule. Reviewers: alexbiehl, bgamari Reviewed By: alexbiehl Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D5003 (cherry picked from commit c971e1193fa44bb507d1806d5bb61768670dc912)
* Correct limb length and assertion for gcdExtIntegerDavidEichamnn2018-08-233-3/+46
| | | | | | | | | | | | | | Reviewers: hvr, bgamari, monoidal Reviewed By: monoidal Subscribers: monoidal, rwbarton, thomie, carter GHC Trac Issues: #15350 Differential Revision: https://phabricator.haskell.org/D5042 (cherry picked from commit c331592130ef592b92084e7417581a4039bfa7d2)
* Fix gcdExtInteger (trac#15350)Bodigrim2018-08-231-1/+3
| | | | (cherry picked from commit 7c207c86ab0de955ebec70eeeb366ba0d94acc4a)
* rts: Align the_gc_thread to 64 bytesBen Gamari2018-08-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | In a previous attempt (c6cc93bca69abc258513af8cf2370b14e70fd8fb) I had tried aligning to 8 bytes under the assumption that the problem was that the_gc_thread, a StgWord8[], wasn't being aligned to 8-bytes as the gc_thread struct would expect. However, we actually need even stronger alignment due to the alignment attribute attached to gen_workspace, which claims it should be aligned to a 64-byte boundary. This fixes #15482. Reviewers: erikd, simonmar Reviewed By: simonmar Subscribers: rwbarton, carter GHC Trac Issues: #15482 Differential Revision: https://phabricator.haskell.org/D5052 (cherry picked from commit 68a1fc29b4bb3eae54e4d96c9aec20e700040f34)
* Set strictness correctly for JoinIdsSimon Peyton Jones2018-08-216-8/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | We were failing to keep correct strictness info when eta-expanding join points; Trac #15517. The situation was something like \q v eta -> let j x = error "blah -- STR Lx bottoming! in case y of A -> j x eta B -> blah C -> j x eta So we spot j as a join point and eta-expand it. But we must also adjust the stricness info, else it vlaimes to bottom after one arg is applied but now it has become two. I fixed this in two places: - In CoreOpt.joinPointBinding_maybe, adjust strictness info - In SimplUtils.tryEtaExpandRhs, return consistent values for arity and bottom-ness (cherry picked from commit ce6ce788251b6102f5c1b878ffec53ba7ad678b5)
* Be mindful of GADT tyvar order when desugaring record updatesRyan Scott2018-08-213-8/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit ef26182e2014b0a2a029ae466a4b121bf235e4e4, the type variable binders in GADT constructor type signatures are now quantified in toposorted order, instead of always having all the universals before all the existentials. Unfortunately, that commit forgot to update some code (which was assuming the latter scenario) in `DsExpr` which desugars record updates. This wound up being the cause of #15499. This patch makes up for lost time by desugaring record updates in a way such that the desugared expression applies type arguments to the right-hand side constructor in the correct order—that is, the order in which they were quantified by the user. Test Plan: make test TEST=T15499 Reviewers: simonpj, bgamari Reviewed By: simonpj Subscribers: rwbarton, carter GHC Trac Issues: #15499 Differential Revision: https://phabricator.haskell.org/D5060 (cherry picked from commit 63b6a1d44849c479d2a7cb59211f5c64d133bc62)
* Bump stm submoduleBen Gamari2018-08-201-0/+0
|
* Check if files are same in combineSrcSpansZubin Duggal2018-08-195-2/+29
| | | | | | | | | | | | | | | | | | Summary: If this is not checked, SrcSpans are sometimes mangled by CPP. Test Plan: ./validate Reviewers: bgamari, dfeuer Reviewed By: bgamari Subscribers: dfeuer, rwbarton, thomie, carter GHC Trac Issues: #15279 Differential Revision: https://phabricator.haskell.org/D4866 (cherry picked from commit f7f9820e8f5601e9a072e504f3d772fd78df6700)
* Fix #15527 by pretty-printing an RdrName prefixlyRyan Scott2018-08-195-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When `(.) @Int` is used without enabling `TypeApplications`, the resulting error message will pretty-print the (symbolic) `RdrName` `(.)`. However, it does so without parenthesizing it, which causes the pretty-printed expression to appear as `.@Int`. Yuck. Since the expression in a type application will always be prefix, we can fix this issue by using `pprPrefixOcc` instead of plain ol' `ppr`. Test Plan: make test TEST=T15527 Reviewers: bgamari, monoidal, simonpj Reviewed By: monoidal, simonpj Subscribers: rwbarton, carter GHC Trac Issues: #15527 Differential Revision: https://phabricator.haskell.org/D5071 (cherry picked from commit 5238f204482ac7f05f4e2d2e92576288cc00d42d)
* Filter plugin dylib locationsChristiaan Baaij2018-08-195-8/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously we just created a cartesian product of the library paths of the plugin package and the libraries of the package. Of course, some of these combinations result in a filepath of a file doesn't exists, leading to #15475. Instead of making `haskFile` return Nothing in case a file doesn't exist (which would hide errors), we look at all the possible dylib locations and ensure that at least one of those locations is an existing file. If the list turns out to be empty however, we panic. Reviewers: mpickering, bgamari Reviewed By: mpickering Subscribers: monoidal, rwbarton, carter GHC Trac Issues: #15475 Differential Revision: https://phabricator.haskell.org/D5048 (cherry picked from commit b324c5624432f2c3d5b0a689fdff75a1ccc563f5)
* Bump parsec submoduleBen Gamari2018-08-111-0/+0
|
* Revert "rts: Ensure that the_gc_thread is aligned"ghc-8.6.1-beta1Ben Gamari2018-08-101-5/+1
| | | | This reverts commit 87a79e394013e5f722496900227b126015d0d780.
* testsuite: Bump for unix 2.7Ben Gamari2018-08-091-1/+1
|
* Bump unix submoduleBen Gamari2018-08-091-0/+0
|
* Add FreeBSD amd64 LLVM targetViktor Dukhovni2018-08-092-0/+4
| | | | (cherry picked from commit 396aac4c65a47b6252e0a73d2a3066e924d53f11)
* circleci: Reduce compression effort to 3Ben Gamari2018-08-081-1/+2
| | | | (cherry picked from commit 60e12f26a28ce4ed0ecb905baef207a0388947f1)
* circleci: Reduce build verbosityBen Gamari2018-08-081-1/+1
| | | | (cherry picked from commit 5be646f251b25c22ba24ad2a4eb5af66b3f95d74)
* circleci: Fix documentation buildingBen Gamari2018-08-086-15/+95
| | | | (cherry picked from commit 9f937142f67ccf1c8bff9bb809539deca39a7a6f)
* Allow arbitrary options to be passed to tar compressionBen Gamari2018-08-081-3/+3
| | | | (cherry picked from commit 4d6dfc35c06abb747de318ada2f27985c9369a6d)
* Bump Cabal submoduleBen Gamari2018-08-071-0/+0
|
* Bump binary submodule to 0.8.6.0Ben Gamari2018-08-074-3/+3
| | | | | | | This is actually a decrease in the version number since a bump to 0.10 wasn't actually necessary. (cherry picked from commit 960a7d17a79417300ee81e884e867bf3de4e535b)
* Bump hadrian submoduleBen Gamari2018-08-071-21/+5
|
* Testsuite driver: fix encoding issue when calling ghc-pkgKrzysztof Gogolewski2018-08-063-6/+5
| | | | | | | | | | | | | | | | | | Summary: In Python 3, subprocess.communicate() returns a pair of bytes, which need to be decoded. In runtests.py, we were just calling str() instead, which converts b'x' to "b'x'". As a result, the loop that was checking pkginfo for lines starting with 'library-dirs' couldn't work. Reviewers: bgamari, thomie, Phyx Reviewed By: thomie Subscribers: Phyx, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5046 (cherry picked from commit 36a4c19494e2cb7e968f1d0e0c09926a660e1a56)
* [docs] Add missed specialisations warnings to list of those not enabled by -WallMaximilian Tagher2018-08-061-0/+2
| | | | | | | Enabling `-Weverything` does enable those warnings. (cherry picked from commit b062bd10a88ea407ae91610f822f0c352909bcce) (cherry picked from commit 24b76d1bef7e61791907fbd063f85643eeb1211a)
* Unhide GHC.List for haddockSimon Jakobi2018-08-061-1/+0
| | | | | | | | The unhidden module GHC.OldList recommends using GHC.List instead. In consequence we should also have haddocks for GHC.List. (cherry picked from commit e3df129c8bf4c35693d01ea66238882f3e3b6fe1) (cherry picked from commit 672f177300b2df1b8a4cd49d560a6fd6da2415d2)
* docs: Fix wrong module name in hsig exampleMathieu Boespflug2018-08-061-1/+1
| | | | | | | | In the module signatures section, two modules were defined, `Str` and `A`, but `A` was importing `Text`, not `Str`. (cherry picked from commit 26ab3635ca342c88310321d7f310f1c12c23ec4c) (cherry picked from commit ce9b459de30e15f2d65518ca12974a692256d477)
* Add since annotation to GHC.ByteOrderAlexander Biehl2018-08-061-0/+1
| | | | | (cherry picked from commit 6fb2620dbc420c976dc9da90b0efc6eae533ebff) (cherry picked from commit 8b357c6ad17bfe802c4a818b0cd7440bced024a3)
* rts: Ensure that the_gc_thread is alignedBen Gamari2018-08-061-1/+5
| | | | | | | Since we cast this to a gc_thread the compiler may assume that it's aligned. Make sure that this is so. Fixes #15482. (cherry picked from commit c6cc93bca69abc258513af8cf2370b14e70fd8fb)
* circleci: Don't build validate-x86_64-linux-debug unregisterisedBen Gamari2018-08-061-1/+1
| | | | | | | | | | | | | | | | Summary: This was a cut-and-paste error. Reviewers: alpmestan Reviewed By: alpmestan Subscribers: alpmestan, rwbarton, thomie, carter GHC Trac Issues: #15466 Differential Revision: https://phabricator.haskell.org/D5037 (cherry picked from commit f355b72113e646cb3785937f5506ee4c084c127f)
* Refactor printMinimalImports (#15439)vrom9112018-08-061-21/+27
| | | | | | | | | | | | | | | | | | Summary: Split into getMinimalImports and printMinimalImports. Export both functions from RnNames module. Reviewers: bgamari, mpickering Reviewed By: mpickering Subscribers: mpickering, rwbarton, carter GHC Trac Issues: #15439 Differential Revision: https://phabricator.haskell.org/D5045 (cherry picked from commit 73683f143d352343b00b1ab4f3abeb38b81794be)