- Jun 14, 2019
-
-
GHC Proposal: 0013-unlifted-newtypes.rst Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/98 Issues: #15219, #1311, #13595, #15883 Implementation Details: Note [Implementation of UnliftedNewtypes] Note [Unifying data family kinds] Note [Compulsory newtype unfolding] This patch introduces the -XUnliftedNewtypes extension. When this extension is enabled, GHC drops the restriction that the field in a newtype must be of kind (TYPE 'LiftedRep). This allows types like Int# and ByteArray# to be used in a newtype. Additionally, coerce is made levity-polymorphic so that it can be used with newtypes over unlifted types. The bulk of the changes are in TcTyClsDecls.hs. With -XUnliftedNewtypes, getInitialKind is more liberal, introducing a unification variable to return the kind (TYPE r0) rather than just returning (TYPE 'LiftedRep). When kind-checking a data constructor with kcConDecl, we attempt to unify the kind of a newtype with the kind of its field's type. When typechecking a data declaration with tcTyClDecl, we again perform a unification. See the implementation note for more on this. Co-authored-by:
Richard Eisenberg <rae@richarde.dev>
-
-
Each package's object files were 'need'ing the library files of all transitive dependencies of the current package, whichi is pointless since the said libraries are not needed until we link those object files together. This fixes #16759.
-
Fixes #16696
-
Previously we would pass flags intended for the C compiler to the C++ compiler (see #16738). This would cause, for instance, `-std=gnu99` to be passed to the C++ compiler, causing spurious test failures. Fix this by maintaining a separate set of flags for C++ compilation invocations.
-
- Jun 13, 2019
-
-
Enable artifacts on to ensure we have bindist coverage.
-
This should help alleviate queue times as the LLVM job is one of the longest that we have.
-
Move prepare-system.sh to .gitlab and remove everything else.
-
For reasons I don't understand sphinx seems to fail to produce a .idx file for makeindex.
-
Strangely these were only causing the build to fail in the aarch64-linux job, despite Sphinx throwing errors in all jobs I checked. Also changes some `#ifdef`s to `#if defined` to satisfy the linter.
-
MR !1151 makes the Hadrian/Linux job pass by fixing the last two test failures, so we can now be stricter and not allow those jobs to fail anymore, easily letting us see when patches introduce test failures.
-
Previously the presence of source notes could hide nested applications of `unpackFoldrCString#` from our constant folding logic. For instance, consider the expression: ```haskell unpackFoldrCString# "foo" c (unpackFoldrCString# "baz" c n) ``` Specifically, ticks appearing in two places can defeat the rule: a. Surrounding the inner application of `unpackFoldrCString#` b. Surrounding the fold function, `c` The latter caused the `str_rules` testcase to fail when `base` was built with `-g3`. Fixes #16740.
-
`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.
-
This should finally fix #14261. [skip ci]
-
- Jun 12, 2019
-
-
Ben Gamari authored
Fixes linters.
-
Ben Gamari authored
Since we can't load profiled objects when GhcDynamic==YES. Affects: * T16737 * T16384 * T16718 * T16619 * T16190
-
Ben Gamari authored
galois_raytrace was previously broken on i386 due to use of x87 arithmethic on that platform. However, 42504f4a removes x87 support; this resulted in an unexpected pass. Unmark this test as broken.
-
Ben Gamari authored
This test requires FFI usage.
-
Ben Gamari authored
* Skip process005 in ghci way * Mark process002 as fragile in threaded2
-
Ben Gamari authored
Marks posix002 as fragile in threaded2 way due to #16550.
-
Ben Gamari authored
The linter now enforces our preference for `#if defined()` and `#if !defined()`.
-
Ben Gamari authored
-
Ben Gamari authored
Previously we would apply this rule, which is only intended for testsuite Makefiles, to all files. This lead to a number of false-positives in all.T files.
-
Ben Gamari authored
I earlier accidentally corrected it breaking the test.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
T493 tests #493, which is an FFI test. FFI tests should be skipped in ghci way.
-
Ben Gamari authored
cc017 requires TH but we can't load dynamic profiled objects.
-
Ben Gamari authored
As noted in #16555.
-
Ben Gamari authored
omit_ways expects a list but this was broken in several cases.
-
Ben Gamari authored
-
Ben Gamari authored
It times out pretty reliably. It's not clear that much is gained by running this test in the ghci way anyways.
-
Ben Gamari authored
It was previously marked as broken but it passes non-deterministically. See #2783.
-
Ben Gamari authored
As noted in #16543.
-
Ben Gamari authored
As noted in #16542, the expected rule doesn't fire. However, this doesn't seem terribly surpring given the circumstances.
-
Ben Gamari authored
As noted in #16541.
-
Ben Gamari authored
As noted in #16540.
-
Ben Gamari authored
Due to #16537.
-