| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
This reverts commit bf10456edaa03dc010821cd4c3d9f49cb11d89da.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(cherry picked from commit 36c1431d9d2d06049190cc0888dbfaee8e2179d6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(cherry picked from commit 34b8e613606653187f1ffae36a83e33f0c673720)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(cherry picked from commit 5487f305d9dea298f0822082389d8a0225956c55)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(cherry picked from commit 7c207c86ab0de955ebec70eeeb366ba0d94acc4a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
| |
This reverts commit 87a79e394013e5f722496900227b126015d0d780.
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit 396aac4c65a47b6252e0a73d2a3066e924d53f11)
|
|
|
|
| |
(cherry picked from commit 60e12f26a28ce4ed0ecb905baef207a0388947f1)
|
|
|
|
| |
(cherry picked from commit 5be646f251b25c22ba24ad2a4eb5af66b3f95d74)
|
|
|
|
| |
(cherry picked from commit 9f937142f67ccf1c8bff9bb809539deca39a7a6f)
|
|
|
|
| |
(cherry picked from commit 4d6dfc35c06abb747de318ada2f27985c9369a6d)
|
| |
|
|
|
|
|
|
|
| |
This is actually a decrease in the version number since a bump to 0.10
wasn't actually necessary.
(cherry picked from commit 960a7d17a79417300ee81e884e867bf3de4e535b)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
Enabling `-Weverything` does enable those warnings.
(cherry picked from commit b062bd10a88ea407ae91610f822f0c352909bcce)
(cherry picked from commit 24b76d1bef7e61791907fbd063f85643eeb1211a)
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
(cherry picked from commit 6fb2620dbc420c976dc9da90b0efc6eae533ebff)
(cherry picked from commit 8b357c6ad17bfe802c4a818b0cd7440bced024a3)
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|