Improve copy/clone array primop docs

Clarify the order of the arguments. Also, remove any use of # in the
comments, which would make the rest of that comment line disappear in
the docs, due to being treated as a comment by the preprocessor.
Update to containers-0.5.5.0

This adds role annotations to Map and Set and therefore addresses #8718

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Fix two issues in stg_newArrayzh

The implementations of newArray# and newArrayArray#, stg_newArrayzh
and stg_newArrayArrayzh, had three issues:

 * The condition for the loop that fills the array with the initial
   element was incorrect. It would write into the card table as
   well. The condition for the loop that filled the card table was
   never executed, as its condition was also wrong. In the end this
   didn't lead to any disasters as the value of the card table doesn't
   matter for newly allocated arrays.

 * The card table was unnecessarily initialized. The card table is
   only used when the array isn't copied, which new arrays always
   are. By not writing the card table at all we save some cycles.

 * The ticky allocation accounting was wrong. The second argument to
   TICK_ALLOC_PRIM is the size of the closure excluding the header
   size, but the header size was incorrectly included.

Fixes #8867.
fix SHELL makefile variable to be set by the configure script (fixes #8783)

The patch provided by Christian Maeder <Christian.Maeder@dfki.de>
Signed-off-by: Karel Gardas <karel.gardas@centrum.cz>
Signed-off-by: Austin Seipp <austin@well-typed.com>
disable shared libs on sparc (linux/solaris) (fixes #8857)

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix incorrect blocksize calculation on Win64

Fixes #8839

Signed-off-by: Austin Seipp <austin@well-typed.com>
config.mk.in: ARM now supports dynamic linking with the LLVM backend

Signed-off-by: Austin Seipp <austin@well-typed.com>
DriverPipeline: Ensure -globalopt is passed to LLVM opt

While -O1 and -O2 both include -globalopt, the order in which the passes are
run means that aliases aren't resolved which then causes llc to fall over.
See GHC bug #8855.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix incorrect maxStkSize calculation (#8858)

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix T2110 now that base has map/coerce rule.

Signed-off-by: Austin Seipp <austin@well-typed.com>
codeGen: allocate small byte arrays of statically known size inline

This results in a 57% runtime decrease when allocating an array of 128
bytes on a 64-bit machine.

Fixes #8876.
Remove "Safe mode" check for Coercible instances

We assume that library authors supply correct role annotations
for their types, and therefore we do not need to check for
the availability of data constructors in Safe mode. See
discussion in #8725. This effectively fixes #8827 and #8826.
Recharacterize test according to discussion in #8851.
Fix #8884.

There were two unrelated errors fixed here:
 1) Make sure that only the *result kind* is reified when reifying
    a type family. Previously, the whole kind was reified, which
    defies the TH spec.

 2) Omit kind patterns in equations.
Fix typo in user's manual, changing "-j N" to "-jN".
Call Arity : Note about fakeBoringCalls
Remove unused gHC_COERCIBLE
testsuite: look for tests-ghc directories for libraries

Who knows how long the tests for containers have been broken. They
haven't bitrotted, however.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Update to containers-0.5.5.1

This fixes a wrong #if around role annotations (see #8718)

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Reference  Note [Kind-changing of (~) and Coercible]