[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 6 commits: Use platform in Iface Binary
Marge Bot
gitlab at gitlab.haskell.org
Fri May 1 08:17:19 UTC 2020
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
2cf5d330 by Sylvain Henry at 2020-05-01T04:17:11-04:00
Use platform in Iface Binary
- - - - -
48c8d671 by Sylvain Henry at 2020-05-01T04:17:11-04:00
Refactor PprDebug handling
If `-dppr-debug` is set, then PprUser and PprDump styles are silently
replaced with PprDebug style. This was done in `mkUserStyle` and
`mkDumpStyle` smart constructors. As a consequence they needed a
DynFlags parameter.
Now we keep the original PprUser and PprDump styles until they are used
to create an `SDocContext`. I.e. the substitution is only performed in
`initSDocContext`.
- - - - -
81e5ed90 by Sylvain Henry at 2020-05-01T04:17:11-04:00
Remove PprStyle param of logging actions
Use `withPprStyle` instead to apply a specific style to a SDoc.
- - - - -
5fadf4c1 by Sylvain Henry at 2020-05-01T04:17:11-04:00
Fully remove PprDebug
PprDebug was a pain to deal with consistently as it is implied by
`-dppr-debug` but it isn't really a PprStyle. We remove it completely
and query the appropriate SDoc flag instead (`sdocPprDebug`) via
helpers (`getPprDebug` and its friends).
- - - - -
78393245 by Sebastian Graf at 2020-05-01T04:17:11-04:00
PmCheck: Only call checkSingle if we would report warnings
- - - - -
a6e8bbfd by Sebastian Graf at 2020-05-01T04:17:12-04:00
PmCheck: Pick up `EvVar`s bound in `HsWrapper`s for long-distance info
`HsWrapper`s introduce evidence bindings through `WpEvLam` which the
pattern-match coverage checker should be made aware of.
Failing to do so caused #18049, where the resulting impreciseness of
imcompleteness warnings seemingly contradicted with
`-Winaccessible-code`.
The solution is simple: Collect all the evidence binders of an
`HsWrapper` and add it to the ambient `Deltas` before desugaring
the wrapped expression.
But that means we pick up many more evidence bindings, even when they
wrap around code without a single pattern match to check! That regressed
`T3064` by over 300%, so now we are adding long-distance info lazily
through judicious use of `unsafeInterleaveIO`.
Fixes #18049.
- - - - -
30 changed files:
- compiler/GHC.hs
- compiler/GHC/Cmm/Pipeline.hs
- compiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/Driver.hs
- compiler/GHC/Core/Opt/Monad.hs
- compiler/GHC/Core/Opt/Simplify.hs
- compiler/GHC/Core/Ppr.hs
- compiler/GHC/Core/Rules.hs
- compiler/GHC/Core/TyCo/Ppr.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Binds.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Pat.hs
- compiler/GHC/HsToCore/Binds.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/PmCheck.hs
- compiler/GHC/Iface/Binary.hs
- compiler/GHC/Iface/Ext/Utils.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/Iface/Tidy.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/Runtime/Debugger.hs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/aa0ebc8c1716ed18319c261da192e839f2fe688a...a6e8bbfd6161dfca0f5772e84f3f94a6de9c3baf
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/aa0ebc8c1716ed18319c261da192e839f2fe688a...a6e8bbfd6161dfca0f5772e84f3f94a6de9c3baf
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200501/5bfa1750/attachment-0001.html>
More information about the ghc-commits
mailing list