[Git][ghc/ghc][wip/ghc-8.8-merges] 16 commits: Add a missing update of sc_hole_ty (#16312)

Ben Gamari gitlab at gitlab.haskell.org
Sun Jun 23 03:03:57 UTC 2019



Ben Gamari pushed to branch wip/ghc-8.8-merges at Glasgow Haskell Compiler / GHC


Commits:
d09a05d7 by Simon Peyton Jones at 2019-06-23T02:36:52Z
Add a missing update of sc_hole_ty (#16312)

In simplCast I totally failed to keep the sc_hole_ty field of
ApplyToTy (see Note [The hole type in ApplyToTy]) up to date.
When a cast goes by, of course the hole type changes.

Amazingly this has not bitten us before, but #16312 finally
triggered it.  Fortunately the fix is simple.

Fixes #16312.

(cherry picked from commit ef36b10233e46f8462f42531e8e0c1ebe0bcb1eb)

- - - - -
000c9e70 by Ben Gamari at 2019-06-23T02:40:12Z
ghci: Ensure that system libffi include path is searched

Previously hsc2hs failed when building against a system FFI.

(cherry picked from commit 1abb76ab8e32e7be224631506201d1beec62a5c2)

- - - - -
09902b9c by Shayne Fletcher at 2019-06-23T02:40:52Z
Make Extension derive Bounded

(cherry picked from commit 9047f1844d3f332e15f9e04e74891c771388da3d)

- - - - -
7ee637c3 by Yuriy Syrovetskiy at 2019-06-23T02:42:38Z
Replace git.haskell.org with gitlab.haskell.org (#16196)

(cherry picked from commit 75abaaead796415cf2b5da610f4b3ee75b9d7759)

- - - - -
ab052831 by Iavor Diatchki at 2019-06-23T02:44:55Z
Add a `NOINLINE` pragma on `someNatVal` (#16586)

This fixes #16586, see `Note [NOINLINE someNatVal]` for details.

(cherry picked from commit 59f4cb6fb73ade6f9b0bdc85380dfddba93bf14b)

- - - - -
8f2ab95d by Ben Gamari at 2019-06-23T02:48:07Z
testsuite: Add test for #16514

(cherry picked from commit 41bf4045c5a85651db8ceb631a1b67edec0c1216)

- - - - -
d6b5b56d by Zejun Wu at 2019-06-23T02:50:01Z
Pass preprocessor options to C compiler when building foreign C files (#16737)

(cherry picked from commit cfd3e0f1cfd16c8f35cae139d2a871a32eb4d2e1)

- - - - -
fd0aa2fe by Moritz Angermann at 2019-06-23T02:50:28Z
llvm-targets: Add x86_64 android layout

(cherry picked from commit e87b9f8731460a7d8c0b45507be2d83935683d56)

- - - - -
8b9176de by Sergei Trofimovich at 2019-06-23T02:52:15Z
powerpc32: fix 64-bit comparison (#16465)

On powerpc32 64-bit comparison code generated dangling
target labels. This caused ghc build failure as:

    $ ./configure --target=powerpc-unknown-linux-gnu && make
    ...
    SCCs aren't in reverse dependent order
    bad blockId n3U

This happened because condIntCode' in PPC codegen generated
label name but did not place the label into `cmp_lo` code block.

The change adds the `cmp_lo` label into the case of negative
comparison.

Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
(cherry picked from commit 973077ac63c79988f2d5f25d13b60dce82f9e8dd)

- - - - -
52380430 by Sergei Trofimovich at 2019-06-23T02:52:17Z
powerpc32: fix stack allocation code generation

When ghc was built for powerpc32 built failed as:

It's a fallout of commit 3f46cffcc2850e68405a1
("PPC NCG: Refactor stack allocation code") where
word size used to be
    II32/II64
and changed to
    II8/panic "no width for given number of bytes"
    widthFromBytes ((platformWordSize platform) `quot` 8)

The change restores initial behaviour by removing extra division.

Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
(cherry picked from commit bb2ee86a4cf47eb56d4b8b4a552537449d492f88)

- - - - -
d950ffe4 by Krzysztof Gogolewski at 2019-06-23T02:52:42Z
Fix missing unboxed tuple RuntimeReps (#16565)

Unboxed tuples and sums take extra RuntimeRep arguments,
which must be manually passed in a few places.
This was not done in deSugar/Check.

This error was hidden because zipping functions in TyCoRep
ignored lists with mismatching length. This is now fixed;
the lengths are now checked by calling zipEqual.

As suggested in #16565, I moved checking for isTyVar and
isCoVar to zipTyEnv and zipCoEnv.

(cherry picked from commit 69b1633104a43d5654e65f2c05fa6b73775936e2)

- - - - -
428952a1 by Aiken Cairncross at 2019-06-23T02:56:12Z
Fix typo in error message

(cherry picked from commit ca721193fc71c065036deecfb9d4274fbfc6850d)

- - - - -
af905532 by Phuong Trinh at 2019-06-23T02:56:33Z
Fix #16525: ObjectCode freed wrongly because of lack of info header check

`checkUnload` currently doesn't check the info header of static objects.
Thus, it may free an `ObjectCode` struct wrongly even if there's still a
live static object whose info header lies in a mapped section of that
`ObjectCode`. This fixes the issue by adding an appropriate check.

(cherry picked from commit fc6b23be509e290f8d27775a1c637284a335ed81)

- - - - -
6cad9eb6 by Ben Gamari at 2019-06-23T02:56:52Z
SafeHaskell: Don't throw -Wsafe warning if module is declared Safe

Fixes #16689.

(cherry picked from commit 29ec33cd3ee390e8006a88d34f5ea0ac236663d0)

- - - - -
5a167d0c by Ryan Scott at 2019-06-23T02:58:52Z
Synchronize ClsInst.doTyConApp with TcTypeable validity checks (#15862)

Issue #15862 demonstrated examples of type constructors on which
`TcTypeable.tyConIsTypeable` would return `False`, but the `Typeable`
constraint solver in `ClsInst` (in particular, `doTyConApp`) would
try to generate `Typeable` evidence for anyway, resulting in
disaster. This incongruity was caused by the fact that `doTyConApp`
was using a weaker validity check than `tyConIsTypeable` to determine
if a type constructor warrants `Typeable` evidence or not. The
solution, perhaps unsurprisingly, is to use `tyConIsTypeable` in
`doTyConApp` instead.

To avoid import cycles between `ClsInst` and `TcTypeable`, I factored
out `tyConIsTypeable` into its own module, `TcTypeableValidity`.

Fixes #15862.

(cherry picked from commit 25ee60cdae6ddedaf6b4677c6327c0f31c81073a)

- - - - -
025fe35b by Ömer Sinan Ağacan at 2019-06-23T03:03:19Z
Properly trim IdInfos of DFunIds and PatSyns in TidyPgm

Not doing this right caused #16608. We now properly trim IdInfos of
DFunIds and PatSyns.

Some further refactoring done by SPJ.

Two regression tests T16608_1 and T16608_2 added.

Fixes #16608

(cherry picked from commit 9d58554f7b19c52896796e8c3b6de20c154a67b2)

- - - - -


30 changed files:

- HACKING.md
- README.md
- boot
- compiler/basicTypes/PatSyn.hs
- compiler/coreSyn/CoreTidy.hs
- compiler/deSugar/Check.hs
- compiler/ghc.cabal.in
- compiler/main/DriverPipeline.hs
- compiler/main/HscMain.hs
- compiler/main/TidyPgm.hs
- compiler/nativeGen/PPC/CodeGen.hs
- compiler/nativeGen/PPC/Instr.hs
- compiler/simplCore/Simplify.hs
- compiler/typecheck/ClsInst.hs
- compiler/typecheck/TcRnDriver.hs
- compiler/typecheck/TcTypeable.hs
- + compiler/typecheck/TcTypeableValidity.hs
- compiler/types/InstEnv.hs
- compiler/types/TyCoRep.hs
- compiler/types/TyCon.hs
- compiler/utils/Util.hs
- docs/users_guide/8.8.1-notes.rst
- hadrian/appveyor.yml
- hadrian/doc/windows.md
- libraries/base/GHC/TypeLits.hs
- libraries/base/GHC/TypeNats.hs
- libraries/base/base.cabal
- libraries/ghc-boot-th/GHC/LanguageExtensions/Type.hs
- libraries/ghc-boot-th/ghc-boot-th.cabal.in
- libraries/ghc-boot/ghc-boot.cabal.in


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/b923b1f9c61d67829a0d1f1b87b6f719dd701568...025fe35b096f228d4f17fedfa63dce65907294e4

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/b923b1f9c61d67829a0d1f1b87b6f719dd701568...025fe35b096f228d4f17fedfa63dce65907294e4
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/20190622/78218e64/attachment.html>


More information about the ghc-commits mailing list