<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Ben Gamari pushed to branch wip/T16509-test
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4b2287681e1610ad9fdc665c50f4f1476d856060">4b228768</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2019-05-27T05:19:49Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/01f8e39032f9fd86a23e5bbb7dbf1aca3a3d114d">01f8e390</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-27T14:06:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Fix problem with unlit path in settings file
e529c65e introduced a problem in the logic for generating the
path to the unlit command in the settings file, and this patches
fixes it.
This fixes many tests, the simplest of which is:
> _build/stage1/bin/ghc testsuite/tests/parser/should_fail/T8430.lhs
which failed because of a wrong path for unlit, and now fails for the right
reason, with the error message expected for this test.
This addresses #16659.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dcd843accc5554e1401987f1e7461dd836223daa">dcd843ac</a></strong>
<div>
<span>by mizunashi_mana</span>
<i>at 2019-05-27T14:06:27Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typo of primop format</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3f6e5b976fe6bcb61aa44a4467e8f94841e979cf">3f6e5b97</a></strong>
<div>
<span>by Joshua Price</span>
<i>at 2019-05-27T14:06:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correct the large tuples section in user's guide
Fixes #16644.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1f51aad656444c667cf1dd22605ee65e931985c7">1f51aad6</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-27T14:06:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix tcfail158 (#15899)
As described in #15899, this test was broken, but now it's back
to normal.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/723216e3ee8d5d535ca74b67748453f948d73d42">723216e3</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-05-27T14:06:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a pprTraceWith function
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6d188dd526334ddbb5fb683eef7aa0be6c35a3a0">6d188dd5</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-05-27T14:06:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Include (<$) in all exports of Functor
Previously the haddocks for Control.Monad and Data.Functor gave
the impression that `fmap` was the only Functor method.
Fixes #16681.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/95b791732c6c7a5becc01b70e9496266cec5444e">95b79173</a></strong>
<div>
<span>by Jasper Van der Jeugt</span>
<i>at 2019-05-27T14:06:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix padding of entries in .prof files
When the number of entries of a cost centre reaches 11 digits, it takes
up the whole space reserved for it and the prof file ends up looking
like:
... no. entries %time %alloc %time %alloc
...
... 120918 978250 0.0 0.0 0.0 0.0
... 118891 0 0.0 0.0 73.3 80.8
... 11890229702412351 8.9 13.5 73.3 80.8
... 118903 153799689 0.0 0.1 0.0 0.1
...
This results in tooling not being able to parse the .prof file. I
realise we have the JSON output as well now, but still it'd be good to
fix this little weirdness.
Original bug report and full prof file can be seen here:
<https://github.com/jaspervdj/profiteur/issues/28>.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f80d3afd7357edbeee0148faa9e8ca3e103a7174">f80d3afd</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-27T14:06:33Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Fix generation of settings
I jumbled some lines in e529c65eacf595006dd5358491d28c202d673732,
messing up the leading underscores and rts ways settings. This broke at
least stage1 linking on macOS, but probably loads of other things too.
Should fix #16685 and #16658.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/db8e3275080173cc36af9f8e51636ee506e7c872">db8e3275</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-27T14:06:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add missing opening braces in Cmm dumps
Previously -ddump-cmm was generating code with unbalanced curly braces:
stg_atomically_entry() // [R1]
{ info_tbls: [(cfl,
label: stg_atomically_info
rep: tag:16 HeapRep 1 ptrs { Thunk }
srt: Nothing)]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
cfl: // cfk
unwind Sp = Just Sp + 0;
_cfk::P64 = R1;
//tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
}
}, <---- OPENING BRACE MISSING
After this patch:
stg_atomically_entry() { // [R1] <---- MISSING OPENING BRACE HERE
{ info_tbls: [(cfl,
label: stg_atomically_info
rep: tag:16 HeapRep 1 ptrs { Thunk }
srt: Nothing)]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
cfl: // cfk
unwind Sp = Just Sp + 0;
_cfk::P64 = R1;
//tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
}
},
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9334467f5dd59f9ea7c231c5ff0b1987df4d1570">9334467f</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2019-05-28T04:24:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve comments around injectivity checks
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c8380a4a738e5c2488337496b0d1b1faf6a7de9d">c8380a4a</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:35:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle hs-boot files in -Wmissing-home-modules (#16551)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7a75a09403264c60a1f513b7466dc9503b966aab">7a75a094</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-29T14:36:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: introduce 'static_stats' tests
They are a particular type of perf tests. This patch introduces a
'stats_files_dir' configuration field in the testsuite driver where all
haddock timing files (and possibly others in the future) are assumed to live.
We also change both the Make and Hadrian build systems to pass respectively
$(TOP)/testsuite/tests/perf/haddock/ and
<build root>/stage1/haddock-timing-files/ as the value of that new
configuration field, and to generate the timing files in those directories
in the first place while generating documentation with haddock.
This new test type can be seen as one dedicated to examining stats files that
are generated while building a GHC distribution. This also lets us get rid of
the 'extra_files' directives in the all.T entries for haddock.base,
haddock.Cabal and haddock.compiler.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/32acecc29d4766fd2b168cbd654667ba6be03dbb">32acecc2</a></strong>
<div>
<span>by P.C. Shyamshankar</span>
<i>at 2019-05-29T14:37:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Minor spelling fixes to users guide.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b58b389b538b6fb9cbb3517cff83808f2a690a0e">b58b389b</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-05-29T14:37:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove stale 8.2.1-notes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5bfd28f5cdf6ef41a08b7bfe2003aa9cc7914af1">5bfd28f5</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-05-29T14:37:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix some warnings in users_guide (incl #16640)
- short underline
- :ghc-flag:, not :ghc-flags:
- :since: have to be separate
- newline before code block
- workaround anchor generation so
- pragma:SPECIALISE
- pragma:SPECIALIZE-INLINE
- pragma:SPECIALIZE-inline
are different anchors, not all the same `pragma:SPECIALIZE`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a5b14ad4764c5596331dd5a0abf0b0f6df6b0053">a5b14ad4</a></strong>
<div>
<span>by Kevin Buhr</span>
<i>at 2019-05-29T14:38:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test for old issue displaying unboxed tuples in error messages (#502)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f9d61ebbf4bba7862ae53c69b0f7116423b8f6d1">f9d61ebb</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:39:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">In hole fits, don't show VTA for inferred variables (#16456)
We fetch the ArgFlag for every argument by using splitForAllVarBndrs
instead of splitForAllTys in unwrapTypeVars.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/69b1633104a43d5654e65f2c05fa6b73775936e2">69b16331</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:39:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9062b62555ced7403cb97f5fd55cffdd57fbf717">9062b625</a></strong>
<div>
<span>by Nathan Collins</span>
<i>at 2019-05-29T14:40:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't lose parentheses in show SomeAsyncException</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cc0d05a78c3c731c771aaadd29c2c5c8d772d619">cc0d05a7</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add hPutStringBuffer utility
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5b90e0a173f69c9babb3201f62cd5096798c5240">5b90e0a1</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allow using tagetContents for modules needing preprocessing
This allows GHC API clients, most notably tooling such as
Haskell-IDE-Engine, to pass unsaved files to GHC more easily.
Currently when targetContents is used but the module requires preprocessing
'preprocessFile' simply throws an error because the pipeline does not
support passing a buffer.
This change extends `runPipeline` to allow passing the input buffer into
the pipeline. Before proceeding with the actual pipeline loop the input
buffer is immediately written out to a new tempfile.
I briefly considered refactoring the pipeline at large to pass around
in-memory buffers instead of files, but this seems needlessly complicated
since no pipeline stages other than Hsc could really support this at the
moment.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fb26d46754564bfacda98618d86d3ee4eda1fcf2">fb26d467</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">downsweep: Allow TargetFile not to exist when a buffer is given
Currently 'getRootSummary' will fail with an exception if a 'TargetFile' is
given but it does not exist even if an input buffer is passed along for
this target.
In this case it is not necessary for the file to exist since the buffer
will be used as input for the compilation pipeline instead of the file
anyways.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4d51e0d80f02483e86f4ad3bae47dcb3311def6b">4d51e0d8</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-29T14:41:44Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CNF.c: Move debug functions behind ifdef
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ae968d419d861dcc01cd5d45e96dc86e16c363c5">ae968d41</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-29T14:42:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">tcMatchesFun s/rho/sigma #16692
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2d2aa2031b9abc3bff7b5585ab4201948c8bba7d">2d2aa203</a></strong>
<div>
<span>by Josh Meredith</span>
<i>at 2019-05-29T14:43:03Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Provide details in `plusSimplCount` errors
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ace2e3350fa7da1f7ebcdb882f1241da10a90c26">ace2e335</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-29T20:06:45Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Break up `Settings` into smaller structs
As far as I can tell, the fields within `Settings` aren't *intrinsicly*
related. They just happen to be initialized the same way (in particular
prior to the rest of `DynFlags`), and that is why they are grouped
together.
Within `Settings`, however, there are groups of settings that clearly do
share something in common, regardless of how they anything is
initialized.
In the spirit of GHC being a library, where the end cosumer may choose
to initialize this configuration in arbitrary ways, I made some new data
types for thoses groups internal to `Settings`, and used them to define
`Settings` instead. Hopefully this is a baby step towards a general
decoupling of the stateful and stateless parts of GHC.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bfccd832782353a000b430870a6602cc591c8b7a">bfccd832</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-29T20:06:45Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Inline `Settings` into `DynFlags`
After the previous commit, `Settings` is just a thin wrapper around
other groups of settings. While `Settings` is used by GHC-the-executable
to initalize `DynFlags`, in principle another consumer of
GHC-the-library could initialize `DynFlags` a different way. It
therefore doesn't make sense for `DynFlags` itself (library code) to
separate the settings that typically come from `Settings` from the
settings that typically don't.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a1bf3413f850d0e8a68ecab6ee7f18f18b67ea56">a1bf3413</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-05-29T20:07:24Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Add note about Libffi's Indicating Inputs #16653
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3aa71a222ac2e5538db15ec8facb7f0253782647">3aa71a22</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-30T11:28:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: always generate the libffi dynlibs manifest with globbing
Instead of trying to deduce which dynlibs are expected to be found (and then
copied to the RTS's build dir) in libffi's build directory, with some OS
specific logic, we now always just use `getDirectoryFilesIO` to look for
those dynlibs and record their names in the manifest. The previous logic
ended up causing problems on Windows, where we don't build dynlibs at all
for now but the manifest file's logic didn't take that into account because
it was only partially reproducing the criterions that determine whether or not
we will be building shared libraries.
This patch also re-enables the Hadrian/Windows CI job, which was failing to
build GHC precisely because of libffi shared libraries and the aforementionned
duplicated logic.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ade53ce29fddc49162f409567c2e76feb5f21c66">ade53ce2</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-05-30T11:29:10Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CODEOWNERS: Use correct username for Richard Eisenberg
In !980 Richard noted that he could not approve the MR.
This mis-spelling was the reason.
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4ad37a323b9cdb830d718dec08c2960e34410a43">4ad37a32</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-05-30T11:29:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Handle zero-sized mappings in MachO linker
As noted in #16701, it is possible that we will find that an object has
no segments needing to be mapped. Previously this would result in mmap
being called for a zero-length mapping, which would fail. We now simply
skip the mmap call in this case; the rest of the logic just works.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f81f3964b718eab21f0cfe65067c195f2f2a84bd">f81f3964</a></strong>
<div>
<span>by Phuong Trinh</span>
<i>at 2019-05-30T20:43:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use binary search to speedup checkUnload
We are iterating through all object code for each heap objects when
checking whether object code can be unloaded. For large projects in
GHCi, this can be very expensive due to the large number of object code
that needs to be loaded/unloaded. To speed it up, this arrangess all
mapped sections of unloaded object code in a sorted array and use binary
search to check if an address location fall on them.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4212918096ab1a9eb5d7c9c35fa2441978fcd4b8">42129180</a></strong>
<div>
<span>by Trịnh Tuấn Phương</span>
<i>at 2019-05-30T20:43:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Apply suggestion to rts/CheckUnload.c</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8e42e98ec9b75787348672f44916d6f278fd245d">8e42e98e</a></strong>
<div>
<span>by Trịnh Tuấn Phương</span>
<i>at 2019-05-30T20:43:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Apply suggestion to rts/CheckUnload.c</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/70afa539f9dd51cbcaf26ca7cbde610ac9ff1a81">70afa539</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Export GhcMake.downsweep
This is to enable #10887 as well as to make it possible to test downsweep
on its own in the testsuite.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a8de5c5a9b326b7ac42c607239b19e50e7dcdc00">a8de5c5a</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add failing test for #10887
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8906bd66781745002e9da3880415d12f9c86481d">8906bd66</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactor downsweep to allow returning multiple errors per module
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8e85ebf765e2b6d692e5581f38ff2923e74daa54">8e85ebf7</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactor summarise{File,Module} to reduce code duplication
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/76c86fca43a4e5449f69c5bc1623f4890ae918e2">76c86fca</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactor summarise{File,Module} to extract checkSummaryTimestamp
This introduces a slight change of behaviour in the interrest of keeping
the code simple: Previously summariseModule would not call
addHomeModuleToFinder for summaries that are being re-used but now we do.
We're forced to to do this in summariseFile because the file being
summarised might not even be on the regular search path! So if GHC is to
find it at all we have to pre-populate the cache with its location. For
modules however the finder cache is really just a cache so we don't have to
pre-populate it with the module's location.
As straightforward as that seems I did almost manage to introduce a bug (or
so I thought) because the call to addHomeModuleToFinder I copied from
summariseFile used to use `ms_location old_summary` instead of the
`location` argument to checkSummaryTimestamp. If this call were to
overwrite the existing entry in the cache that would have resulted in us
using the old location of any module even if it was, say, moved to a
different directory between calls to 'depanal'.
However it turns out the cache just ignores the location if the module is
already in the cache. Since summariseModule has to search for the module,
which has the side effect of populating the cache, everything would have
been fine either way.
Well I'm adding a test for this anyways: tests/depanal/OldModLocation.hs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/18d3f01d9abe2994b2b3d07b67ee9616c3553e16">18d3f01d</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make downsweep return all errors per-module instead of throwing some
This enables API clients to handle such errors instead of immideately
crashing in the face of some kinds of user errors, which is arguably quite
bad UX.
Fixes #10887
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/99e7276982fe41dca0098e37a9cbf71091c3e275">99e72769</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Catch preprocessor errors in downsweep
This changes the way preprocessor failures are presented to the
user. Previously the user would simply get an unlocated message on stderr
such as:
`gcc' failed in phase `C pre-processor'. (Exit code: 1)
Now at the problematic source file is mentioned:
A.hs:1:1: error:
`gcc' failed in phase `C pre-processor'. (Exit code: 1)
This also makes live easier for GHC API clients as the preprocessor error
is now thrown as a SourceError exception.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b7ca94fd43209a62d37506709fad685f09073cc1">b7ca94fd</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PartialDownsweep: Add test for import errors
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/98e39818f5f66b9a6b95ce7b484b54dbc68e454e">98e39818</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add depanalPartial to make getting a partial modgraph easier
As per @mpickering's suggestion on IRC this is to make the partial
module-graph more easily accessible for API clients which don't intend to
re-implementing depanal.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d278477123fe9270e5f21db722b7295371a097e2">d2784771</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-30T20:44:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve targetContents code docs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/424e85b2e1fc0f81504fcc2ee2d6c8ffe7e064e9">424e85b2</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-05-30T20:44:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Compile T9630 with +RTS -G1
For the reasons described in Note [residency] we run programs with -G1
when we care about the max_bytes_used metric.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4879d7aff0ffaabcdbfd85064cff9bddcc95a4fe">4879d7af</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-05-31T05:56:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Eventlog: Document the fact timestamps are nanoseconds
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0b01a3541e483ea3fcbd6c0f1586a063310b75f9">0b01a354</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2019-05-31T05:56:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update `$(TOP)/*.md` documents
I updated the top documents to the latest status:
- HACKING.md:
- Modify Phabricator to GitLab infomation
- Remove old Trac information
- Add link to GitLab activity
- MAKEHELP.md:
- Add link to hadrian wiki
- Fix markdown format
- INSTALL.md:
- Modify boot command to remove python3
- Fix markdown format
- README.md:
- Modify tarball file suffix
- Fix markdown format
I checked the page display on the GitHub and GitLab web.
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/973077ac63c79988f2d5f25d13b60dce82f9e8dd">973077ac</a></strong>
<div>
<span>by Sergei Trofimovich</span>
<i>at 2019-05-31T05:57:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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@gentoo.org>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bb2ee86a4cf47eb56d4b8b4a552537449d492f88">bb2ee86a</a></strong>
<div>
<span>by Sergei Trofimovich</span>
<i>at 2019-05-31T05:57:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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@gentoo.org>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/08b4c81363f405bf67ff85c5d132ff5919515095">08b4c813</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-05-31T05:58:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use types already in AST when making .hie file
These were meant to be added in !214 but for some reason wasn't included
in the patch.
Update Haddock submodule for new Types.hs hyperlinker output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/284cca51f07c70c03ce602c963e22acf7333180b">284cca51</a></strong>
<div>
<span>by David Hewson</span>
<i>at 2019-05-31T05:58:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">support small arrays and CONSTR_NOCAF in ghc-heap
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f071576cf4a58de101e00c6e854e66acb8cc3e67">f071576c</a></strong>
<div>
<span>by Neil Mitchell</span>
<i>at 2019-05-31T05:59:24Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Expose doCpp</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c70d039e5fa1a8dc0163b1fe7db5b0105b832d30">c70d039e</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-31T06:00:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unused RTS function 'unmark'
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bb929009523a20271e1af34990e5c85d440de0d7">bb929009</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-31T06:00:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix arity type of coerced types in CoreArity
Previously if we had
f |> co
where `f` had arity type `ABot N` and `co` had arity M and M < N,
`arityType` would return `ABot M` which is wrong, because `f` is only
known to diverge when applied to `N` args, as described in Note
[ArityType]:
If at = ABot n, then (f x1..xn) definitely diverges. Partial
applications to fewer than n args may *or may not* diverge.
This caused incorrect eta expansion in the simplifier, causing #16066.
We now return `ATop M` for the same expression so the simplifier can't
assume partial applications of `f |> co` is divergent.
A regression test T16066 is also added.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e32786dfc9290e037f70cd942d5922217f2ab7cc">e32786df</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-05-31T06:01:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Put COMPLETE sigs into ModDetails with -fno-code (#16682)
`mkBootModDetailsTc`, which creates a special `ModDetails` when
`-fno-code` is enabled, was not properly filling in the `COMPLETE`
signatures from the `TcGblEnv`, resulting in incorrect pattern-match
coverage warnings. Easily fixed.
Fixes #16682.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0c6f7f7eb94f80d3ed74a382af8a3294d070e740">0c6f7f7e</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-05-31T06:01:55Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Implement (Functor.<$) for Array
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/495a65cbc48d5209f30fd4248fc11ab06b05d4c3">495a65cb</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-05-31T06:02:33Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Implement (Functor.<$) for Data.Functor.{Compose,Product,Sum}
This allows us to make use of the (<$) implementations of the
underlying functors.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0e0d87da2fd25e2fb255417fcb15f93f508c1250">0e0d87da</a></strong>
<div>
<span>by Zubin Duggal</span>
<i>at 2019-05-31T06:34:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix and enforce validation of header for .hie files
Implements #16686
The files version is automatically generated from the current GHC
version in the same manner as normal interface files.
This means that clients can first read the version and then decide how
to read the rest of the file.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1d43d4a3e45d86261fa63591e99749cb7d3f68ed">1d43d4a3</a></strong>
<div>
<span>by Nathan Collins</span>
<i>at 2019-06-01T03:55:49Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve ThreadId Show instance
By making it include parens when a derived instance would. For example, this changes the (hypothetical) code `show (Just (ThreadId 3))` to produce `"Just (ThreadId 3)"` instead of the current `"Just ThreadId 3"`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/45f88494293bea20cc3aca025ee6fe84087987ce">45f88494</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-06-01T03:56:27Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Reject nested foralls in foreign imports (#16702)
This replaces a panic observed in #16702 with a simple error message
stating that nested `forall`s simply aren't allowed in the type
signature of a `foreign import` (at least, not at present).
Fixes #16702.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/76e5889017ee4ac688901d37f2fa684e807769b6">76e58890</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-06-01T03:57:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix space leaks in dynLoadObjs (#16708)
When running the test suite on a GHC built with the `quick` build
flavour, `-fghci-leak-check` noticed some space leaks. Careful
investigation led to `Linker.dynLoadObjs` being the culprit.
Pattern-matching on `PeristentLinkerState` and a dash of `$!` were
sufficient to fix the issue. (ht to mpickering for his suggestions,
which were crucial to discovering a fix)
Fixes #16708.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1503da32d26fb59fb6ebb620bfd0f8c08638f627">1503da32</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-06-01T15:18:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix rewriting invalid shifts to errors
Fixes #16449.
5341edf3 removed a code in rewrite rules for bit shifts, which broke the
"silly shift guard", causing generating invalid bit shifts or heap
overflow in compile time while trying to evaluate those invalid bit
shifts.
The "guard" is explained in Note [Guarding against silly shifts] in
PrelRules.hs.
More specifically, this was the breaking change:
--- a/compiler/prelude/PrelRules.hs
+++ b/compiler/prelude/PrelRules.hs
@@ -474,12 +474,11 @@ shiftRule shift_op
; case e1 of
_ | shift_len == 0
-> return e1
- | shift_len < 0 || wordSizeInBits dflags < shift_len
- -> return (mkRuntimeErrorApp rUNTIME_ERROR_ID wordPrimTy
- ("Bad shift length" ++ show shift_len))
This patch reverts this change.
Two new tests added:
- T16449_1: The original reproducer in #16449. This was previously
casing a heap overflow in compile time when CmmOpt tries to evaluate
the large (invalid) bit shift in compile time, using `Integer` as the
result type. Now it builds as expected. We now generate an error for
the shift as expected.
- T16449_2: Tests code generator for large (invalid) bit shifts.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2e297b36169208939528d962724679c5756e9e7c">2e297b36</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-06-01T15:19:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Remove unused decls from CNF.h
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/33e37d0619a9d1d0b8088a109f7eeb4c6fd21027">33e37d06</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2019-06-03T02:54:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add `-haddock` option under ci condition to fix #16415
In order to use the `:doc` command in ghci, it is necessary
to compile for core libraries with `-haddock` option.
Especially, the `-haddock` option is essential for release building.
Note:
* The `-haddock` option may affect compile time and binary size.
* But hadrian has already set `-haddock` as the default.
* This patch affects the make-based building.
This patch has been split from !532.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/43a39c3c2195d5b4400efc845a54f153184b1d7f">43a39c3c</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2019-06-03T02:54:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add `-haddock` to perf.mk rather than prepare-system.sh
To cover ci conditions from ghc8.6 to 8.9, I add `-haddock` option
to `mk/flavours/perf.mk` rather than `.circleci/prepare-system.sh`.
Because in windows condition of ghc-8.9, `mk/flavours/*` is included
after `prepare-system.sh`.
In addition, in linux condition of ghc-8.6, `mk/flavors/perf.mk` is used.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c4f94320a7048a7f263d8d952d4e12cc0227cf72">c4f94320</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2019-06-03T02:54:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add `-haddock` to prepare-system.sh and .gitlab-ci.yml
To cover ci conditions from ghc8.6 to 8.9, I add `-haddock` option
to `.circleci/prepare-system.sh` and .gitlab-ci.yml.
after including `mk/flavours/*`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/799b1d26977b5841aa580e07c8f8e65356eed785">799b1d26</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-03T02:55:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Use GHC 8.6.5 for Windows CI builds
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/286827be471f9efa67303d57b979e0c32cb8936e">286827be</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-06-04T05:09:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">TestRunner: Added --chart to display a chart of performance tests
This uses the Chart.js javascript library.
Everything is put into a standalone .html file and opened with the
default browser.
I also simplified the text output to use the same data as the chart.
You can now use a commit range with git's ".." syntax.
The --ci option will use results from CI (you'll need to fetch them
first):
$ git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/ci/perf
$ python3 testsuite/driver/perf_notes.py --ci --chart --test-env x86_64-darwin --test-name T9630 master~500..master
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/db78ac6f5d69618ff143ab4b572e7f58a1805687">db78ac6f</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-06-04T05:09:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use a better strategy for determining the offset applied to foreign function arguments that have an unlifted boxed type. We used to use the type of the argument. We now use the type of the foreign function. Add a test to confirm that the roundtrip conversion between an unlifted boxed type and Any is sound in the presence of a foreign function call.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/114b014f7ed346727241c78ef3e0bf965d94edfc">114b014f</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-04T05:10:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: fix OSX build failure and add an OSX/Hadrian CI job
The OSX build failure introduced in 3aa71a22 was due to a change in the
glob we use to collect libffi shared libraries in hadrian/src/Rules/Libffi.hs.
This commit fixes the problem and adds an OSX CI job that builds GHC with
Hadrian, to make sure we don't break it again.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/002594b731c40334b33eb883275e9c274c68e9ac">002594b7</a></strong>
<div>
<span>by Xavier Denis</span>
<i>at 2019-06-04T18:41:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add GHCi :instances command
This commit adds the `:instances` command to ghci following proosal
number 41.
This makes it possible to query which instances are available to a given
type.
The output of this command is all the possible instances with type
variables and constraints instantiated.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3ecc03df3b7777ecb40fbbbb2d6d7c2b98676d1c">3ecc03df</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-04T18:42:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run bindisttest during CI
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c16f3297401f8f1f0f5d289867725ad185ac5a40">c16f3297</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-04T18:42:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">make: Fix bindist installation
This fixes a few vestigial references to `settings` left over from !655.
Fixes #16715.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ba4e3934abc82e0ba2bec51842315819910d1018">ba4e3934</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-04T18:43:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: profiling and debug enabled ways support -eventlog too
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/567894b49b9e8f5ced2d0e5f051f2a1d5c9f13e2">567894b4</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-07T08:36:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Disable darwin hadrian job
See #16771
We don't have enough capacity for the two jobs currently.
[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d3915b304f297b8a2534f6abf9c2984837792921">d3915b30</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-06-07T14:20:42Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">[skip ci] Improve the documentation of the CNF primops. In this context, the term "size" is ambiguous and is now avoided. Additionally, the distinction between a CNF and the blocks that comprise it has been emphasize. The vocabulary has been made more consistent with the vocabulary in the C source for CNF.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e963beb54a243f011396942d2add644e3f3dd8ae">e963beb5</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-06-07T14:21:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">TmOracle: Replace negative term equalities by refutable PmAltCons
The `PmExprEq` business was a huge hack and was at the same time vastly
too powerful and not powerful enough to encode negative term equalities,
i.e. facts of the form "forall y. x ≁ Just y".
This patch introduces the concept of 'refutable shapes': What matters
for the pattern match checker is being able to encode knowledge of the
kind "x can no longer be the literal 5". We encode this knowledge in a
`PmRefutEnv`, mapping a set of newly introduced `PmAltCon`s (which are
just `PmLit`s at the moment) to each variable denoting above
inequalities.
So, say we have `x ≁ 42 ∈ refuts` in the term oracle context and
try to solve an equality like `x ~ 42`. The entry in the refutable
environment will immediately lead to a contradiction.
This machinery renders the whole `PmExprEq` and `ComplexEq` business
unnecessary, getting rid of a lot of (mostly dead) code.
See the Note [Refutable shapes] in TmOracle for a place to start.
Metric Decrease:
T11195
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0b7372f68c0bc9cafc30e227b574abf1d5b16df5">0b7372f6</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-07T14:21:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add HEAP_PROF_SAMPLE_END event to mark end of samples
This allows a user to observe how long a sampling period lasts so that
the time taken can be removed from the profiling output.
Fixes #16697
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d1dc0ed75be0dafb0be3b4ff5e839612702eab47">d1dc0ed7</a></strong>
<div>
<span>by Roland Senn</span>
<i>at 2019-06-07T14:22:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16700: Tiny errors in output of GHCi commands :forward and :info
`:info Coercible` now outputs the correct section number of the GHCi User's guide together with the secion title.
`:forward x` gives the correct syntax hint.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/387050d0e26a9e6466b31c9d8e4e4f6273c64c9e">387050d0</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-06-07T14:23:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Factor out 'getLibDir' / 'getBaseDir' into a new GHC.BaseDir ghc-boot module
ghc-pkg and ghc already both needed this. I figure it is better to
deduplicate, especially seeing that changes to one (FreeBSD CPP) didn't
make it to the other.
Additionally in !1090 I make ghc-pkg look up the settings file, which
makes it use the top dir a bit more widely. If that lands, any
difference in the way they find the top dir would be more noticable.
That change also means sharing more code between ghc and ghc-package
(namely the settings file parsing code), so I'd think it better to get
off the slipperly slope of duplicating code now.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/da26ffe795f1861783c1b031ed93f9fa59550f85">da26ffe7</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-07T14:24:00Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Preserve ShadowInfo when rewriting evidence
When the canonicaliser rewrites evidence of a Wanted, it
should preserve the ShadowInfo (ctev_nosh) field. That is,
a WDerive should rewrite to WDerive, and WOnly to WOnly.
Previously we were unconditionally making a WDeriv, thereby
rewriting WOnly to WDeriv. This bit Nick Frisby (issue #16735)
in the context of his plugin, but we don't have a compact test
case.
The fix is simple, but does involve a bit more plumbing,
to pass the old ShadowInfo around, to use when building
the new Wanted.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9bb58799d2ce58f6aef772df79ad26210403aded">9bb58799</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:24:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Delete target symlink in createFileLinkUntracked
Previously createFileLinkUntracked would fail if the symlink already
existed.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/be63d2996308c77f8a0a44592074c98f66a80e93">be63d299</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-06-07T14:25:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix isValidNatural: The BigNat in NatJ# must have at least 2 limbs
Previously the `integer-gmp` variant of `isValidNatural` would fail to
detect values `<= maxBound::Word` that were incorrectly encoded using
the `NatJ#` constructor.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e87b9f8731460a7d8c0b45507be2d83935683d56">e87b9f87</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2019-06-07T14:26:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">llvm-targets: Add x86_64 android layout
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/60db142ba2928f159a0df6fd2a7c1839addf6206">60db142b</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update Traversable.hs with a note about an intuitive law</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f11aca52b1ea47b0e3c43c1ee7a5ec8c6d061714">f11aca52</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Used terminology from a paper. Added it as a reference.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/13b3d45d308108da2d92b3c06b5489f41703e623">13b3d45d</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">remove backticks from markup - it doesn't mean what I think it means</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cfd3e0f1cfd16c8f35cae139d2a871a32eb4d2e1">cfd3e0f1</a></strong>
<div>
<span>by Zejun Wu</span>
<i>at 2019-06-07T14:27:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Pass preprocessor options to C compiler when building foreign C files (#16737)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5991d877a3da69da63ab93ea277bd89965c97573">5991d877</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:28:09Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Export Finalizers
As requested in #16750.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3d97bad67ea64b7ee690c0a8836579bceef47cb5">3d97bad6</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-07T14:28:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: use deb9 Docker images instead of deb8 for CI jobs
This should fix #16739, where we seem to be getting extra carets in
a test's output because of the gcc that ships with the deb8 image,
whule we're not observing those extra carets in the deb9-based (Make)
jobs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1afb499583f741a95cceb3207c5455c8ec6f5b87">1afb4995</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:29:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Create index.html in documentation deployment
Otherwise navigating to https://ghc.gitlab.haskell.org/ghc will result
in a 404.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/76d5c62aa2a1020abb3a9c74f2b73788474f4804">76d5c62a</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T22:43:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16509
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#45c43932d0fb2a4ffce85cea15daa18255dc546d">
.circleci/prepare-system.sh
</a>
</li>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#abe895765c4ce08c5dfbc95e5e3c5db67ff92ded">
CODEOWNERS
</a>
</li>
<li class="file-stats">
<a href="#0c39c6a7c54e5d668d208665d6e5ccecdd3bb246">
HACKING.md
</a>
</li>
<li class="file-stats">
<a href="#b2270542d41297db1ee0d12698e609ea3ec25ce7">
INSTALL.md
</a>
</li>
<li class="file-stats">
<a href="#5fb05fd41dbb0a9c7498bded8a0bf8dbb0c3ec59">
MAKEHELP.md
</a>
</li>
<li class="file-stats">
<a href="#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d">
README.md
</a>
</li>
<li class="file-stats">
<a href="#5ff00f934d07acf05ecddc1e6f7a6c7a37128132">
compiler/backpack/DriverBkp.hs
</a>
</li>
<li class="file-stats">
<a href="#49d2d51d42e9c209de33c35681b9c9b1e912cda9">
compiler/basicTypes/NameEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#db6936871693fa68c3fdcbd692eb7dcffc3a9372">
compiler/cmm/CLabel.hs
</a>
</li>
<li class="file-stats">
<a href="#8131b096a76ab4cb878cbed760d2810c8d6e8d75">
compiler/cmm/CmmInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#d50336124f51fb97043e81d9968bd8f97ee870f4">
compiler/cmm/CmmType.hs
</a>
</li>
<li class="file-stats">
<a href="#57ca2ad8c215a4b7d1d74a244d031fcdc3d3bf30">
compiler/cmm/PprCmmDecl.hs
</a>
</li>
<li class="file-stats">
<a href="#c569fe5eb9284314e129c104f265fe360a4b1d3d">
compiler/codeGen/StgCmmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#ae667aa599c96310c85c0258e4e7d72b00275ae5">
compiler/codeGen/StgCmmForeign.hs
</a>
</li>
<li class="file-stats">
<a href="#731b07c16b2f4bb31dd7defa4ceef54e74473cc7">
compiler/codeGen/StgCmmPrim.hs
</a>
</li>
<li class="file-stats">
<a href="#ed7e37ad33aa047f1f6bc74d375c38e6484b231c">
compiler/coreSyn/CoreArity.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#cf5b233b6ec5c0a6951d1018fee507d2d2d71391">
compiler/deSugar/DsForeign.hs
</a>
</li>
<li class="file-stats">
<a href="#cdd7bc06da6b3eab3e2072ece6294a7f54808f28">
compiler/deSugar/DsMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#7589abbc710cc40f6e48245c2bc16d69f556b714">
compiler/deSugar/PmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#584407121afc66978c814dbdb5c252118d27656a">
<span class="new-file">
+
compiler/deSugar/PmPpr.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#379674a5063221cec43f0f659c2eb67b30339f45">
compiler/deSugar/TmOracle.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#47f4bea1d308dee249030e6063d92071b5aac240">
compiler/ghci/Linker.hs
</a>
</li>
<li class="file-stats">
<a href="#7f924eb82ea52b493e50fc467c301adb6a0eaf32">
compiler/hieFile/HieAst.hs
</a>
</li>
<li class="file-stats">
<a href="#ed625742c0235606b8fbc13ddf9b161f5fb40f27">
compiler/hieFile/HieBin.hs
</a>
</li>
<li class="file-stats">
<a href="#bb3a06fb906e108c479b1717e02bb7a7d0c63567">
compiler/hieFile/HieDebug.hs
</a>
</li>
<li class="file-stats">
<a href="#2da6575c36fe7417a4dccb33b316d19f11ed9e67">
compiler/hieFile/HieTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#b5f5d4367f2d884e98f96ecd7407a49be6259180">
<span class="new-file">
+
compiler/main/CliOption.hs
</span>
</a>
</li>
</ul>
<h5>The diff was not included because it is too large.</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/compare/4b1addca61800eb199c504a7183c2a8f7d4135df...76d5c62aa2a1020abb3a9c74f2b73788474f4804">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>