[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 11 commits: Have GHCi use object code for UnboxedTuples modules #15454

Marge Bot gitlab at gitlab.haskell.org
Wed May 22 03:27:36 UTC 2019



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
a2b8451e by Michael Sloan at 2019-05-22T03:27:18Z
Have GHCi use object code for UnboxedTuples modules #15454

The idea is to automatically enable -fobject-code for modules that use
UnboxedTuples, along with all the modules they depend on. When looking
into how to solve this, I was pleased to find that there was already
highly similar logic for enabling code generation when -fno-code is
specified but TemplateHaskell is used.

The state before this patch was that if you used unboxed tuples then you
had to enable `-fobject-code` globally rather than on a per module
basis.

- - - - -
cf925422 by Michael Sloan at 2019-05-22T03:27:19Z
Use datatype for unboxed returns when loading ghc into ghci

See #13101 and #15454

- - - - -
1a55c380 by Kevin Buhr at 2019-05-22T03:27:20Z
Add regression test for old Word32 arithmetic issue (#497)

- - - - -
1fd1194d by Alec Theriault at 2019-05-22T03:27:21Z
RTS: Fix restrictive cast

Commit e75a9afd2989e0460f9b49fa07c1667299d93ee9 added an `unsigned` cast
to account for OSes that have signed `rlim_t` signed. Unfortunately,
the `unsigned` cast has the unintended effect of narrowing `rlim_t` to
only 4 bytes. This leads to some spurious out of memory crashes
(in particular: Haddock crashes with OOM whenn building docs of
`ghc`-the-library).

In this case, `W_` is a better type to cast to: we know it will be
unsigned too and it has the same type as `*len` (so we don't suffer from
accidental narrowing).

- - - - -
a16bc316 by Alp Mestanogullari at 2019-05-22T03:27:23Z
Hadrian: add --test-root-dirs, to only run specific directories of tests

We can specify several of those, by using the flag multiple times or
just once but combining the directories with ':'.

Along the way, this patch also fixes the testsuite-related --only flag,
so that we can use it many times instead of being force to specify a
space-separated list of test in a single --only flag.

- - - - -
2fb8db8a by Ryan Scott at 2019-05-22T03:27:24Z
Use HsTyPats in associated type family defaults

Associated type family default declarations behave strangely in a
couple of ways:

1. If one tries to bind the type variables with an explicit `forall`,
   the `forall`'d part will simply be ignored. (#16110)
2. One cannot use visible kind application syntax on the left-hand
   sides of associated default equations, unlike every other form
   of type family equation. (#16356)

Both of these issues have a common solution. Instead of using
`LHsQTyVars` to represent the left-hand side arguments of an
associated default equation, we instead use `HsTyPats`, which is what
other forms of type family equations use. In particular, here are
some highlights of this patch:

* `FamEqn` is no longer parameterized by a `pats` type variable, as
  the `feqn_pats` field is now always `HsTyPats`.
* The new design for `FamEqn` in chronicled in
  `Note [Type family instance declarations in HsSyn]`.
* `TyFamDefltEqn` now becomes the same thing as `TyFamInstEqn`. This
  means that many of `TyFamDefltEqn`'s code paths can now reuse the
  code paths for `TyFamInstEqn`, resulting in substantial
  simplifications to various parts of the code dealing with
  associated type family defaults.

Fixes #16110 and #16356.

- - - - -
795171bf by Luite Stegeman at 2019-05-22T03:27:25Z
fix Template Haskell cross compilation on 64 bit compiler with 32 bit target

- - - - -
a0a8d532 by Moritz Angermann at 2019-05-22T03:27:25Z
Lowercase windows imports

While windows and macOS are currently on case-insensitive file
systems, this poses no issue on those.  When cross compiling from
linux with a case sensitive file system and mingw providing only
lowercase headers, this in fact produces an issue.  As such we just
lowercase the import headers, which should still work fine on a
case insensitive file system and also enable mingw's headers to
be usable porperly.

- - - - -
2e825b39 by Moritz Angermann at 2019-05-22T03:27:26Z
Add `keepCAFs` to RtsSymbols

- - - - -
e15e1981 by Joshua Price at 2019-05-22T03:27:27Z
Correct the large tuples section in user's guide

Fixes #16644.

- - - - -
c5ee04fd by Krzysztof Gogolewski at 2019-05-22T03:27:27Z
Fix tcfail158 (#15899)

As described in #15899, this test was broken, but now it's back
to normal.

- - - - -


30 changed files:

- compiler/basicTypes/UniqSupply.hs
- compiler/deSugar/DsMeta.hs
- compiler/hieFile/HieAst.hs
- compiler/hsSyn/Convert.hs
- compiler/hsSyn/HsDecls.hs
- compiler/hsSyn/HsExtension.hs
- compiler/hsSyn/HsInstances.hs
- compiler/main/GhcMake.hs
- compiler/nativeGen/AsmCodeGen.hs
- compiler/nativeGen/RegAlloc/Linear/State.hs
- compiler/parser/RdrHsSyn.hs
- compiler/rename/RnSource.hs
- compiler/typecheck/TcSplice.hs
- compiler/typecheck/TcTyClsDecls.hs
- docs/users_guide/8.10.1-notes.rst
- docs/users_guide/bugs.rst
- docs/users_guide/ghci.rst
- docs/users_guide/glasgow_exts.rst
- driver/utils/dynwrapper.c
- hadrian/doc/testsuite.md
- hadrian/src/CommandLine.hs
- hadrian/src/Settings/Builders/RunTest.hs
- libraries/template-haskell/Language/Haskell/TH/PprLib.hs
- libraries/template-haskell/Language/Haskell/TH/Syntax.hs
- rts/RtsSymbols.c
- rts/posix/OSMem.c
- rules/build-prog.mk
- − testsuite/tests/ghci/prog014/prog014.stderr
- − testsuite/tests/ghci/should_fail/T14608.stderr
- testsuite/tests/ghci/should_fail/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/a0eae25d5812411c91ba784d7b1a80fcac31ec61...c5ee04fdae67fddd65a18f463187b58fec89fd6b

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/a0eae25d5812411c91ba784d7b1a80fcac31ec61...c5ee04fdae67fddd65a18f463187b58fec89fd6b
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/20190521/93278991/attachment.html>


More information about the ghc-commits mailing list