add casArray# primop, similar to casMutVar# but for array elements
Tweak stg_casArrayzh as per Simon Marlow's suggestion.
Update stg_casArrayzh to conform to new CMM conventions.
Add PrimOp: casIntArray#.  Modify casMutVar# for 'ticketed' style.
Add PrimOp fetchAddIntArray# plus supporting C function atomic_inc_by.
Eliminate atomic_inc_by and instead medofiy atomic_inc.
minor bugfix to casIntArray# and fetchAddIntArray#
Sync Cabal to upstream version 1.18 pre-release

Apart from bumping build-dep version bounds, `ghc-cabal` is adapted to
some minor Cabal API changes, and `bin-package-db` is made aware of
Cabal's recently added AGPL licence support.
Properly externalise codegen identifiers (#8166)

388e14e2 unfortunately broke a subtle invariant in the code generator:
when generating code for an application, names may need to be
externalised, in case you're building against something external with
was built with -split-objs.

We were never externalising the ids of the applied functions. This means
if the libraries are split and we call into them, then the compiler
won't may not generate correct ids when making references to functions
in the library (causing linker failure).

I'm not entirely sure how this didn't break everything, but it certainly
caused several failures for a bunch of people. I had to fiddle with my
tree a little to make this occur.

This should fix #8166.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Comments only, relating to #8166 fix
GHCi: Implement new `:show paths` sub-command

`:show paths` dumps the current working directory as well
as the current value of the `importPaths` dynamic flags field.

This addresses #8172

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
User guide entry for `:shows paths` sub-command

This also adds an entry to the release notes section.

See #8172 for more details

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Make `-ddump-minimal-imports` honour `-dumpdir` flag

The `-dumpdir` flag was added via 668c860b361f16 but failed to
take care of `-ddump-minimal-imports`'s output.
This commit makes up for that omission.

This addresses #7957

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update `-ddump-minimal-imports` entry in user's guide

The entry is updated to mention explicitly the feature implemented
for #7957, as well as rewording and improving the docbook markup.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Fix Trac #8186.

Parallel list comprehensions are now handled in DsMeta.
Improve error messages for roles by writing role names out
Add check for obsolete `darcs.haskell.org` repo urls

If the check detects an obsolete URL, show a warning and tell the user how
to invoke `sync-all` in order to update the local Git repo to point to the new
repository URLs.

This is related to #8121
Clarify comments about apartness
Rework how iOS does linking (#8127)

iOS has some particular constraints about how applications can be built:

 * We must generate a static library (.a) since XCode does the final
   link.
 * We need to carefully give the right set of arguments to libtool in
   the case we're generating an archive.
 * Dynamic linking isn't supported.
 * It can only be done on OS X.

This patch cleans up all of the above. We add a new flag `-staticlib`
(only supported on Darwin) that allows us to produce archive files using
libtool, and a -pgmlibtool flag to control which 'libtool' executable to
use.

This fixes #8127. I believe this is the last piece missing from the iOS
cross compiler.

Authored-by: Luke Iannini <lukexi@me.com>
Authored-by: Maxwell Swadling <maxwellswadling@gmail.com>
Authored-by: Stephen Blackheath <...@blacksapphire.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Applicative instance for Ghc and GhcT

Fixes #8175.

Signed-off-by: Austin Seipp <aseipp@pobox.com>