Remove whitespace between macro identifiers and `(`

This is a kludge to workaround Clang's CPP lacking traditional-mode CPP

(This was reported by Kazu Yamamoto)

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update Notes for Coercible
Minor fix to example GHC plugin in the documentation
Test the strictness analyzer using annotations

This adds a new directory, tests/stranal/sigs. Tests therein are
expected to use the StrAnalAnnotation GHC plugin (also therein) to
annotate (some of) their top level functions like this:

    foo x = x
    {-# ANN foo (StrAnal "<S,1*U>") #-}

Then the test will fail if the strictness analyzer finds a different
strictness signature.
Add test case for #8569
Update "stolen syntax" section (#8575)

Thanks to aavogt
Call busy_wait_nop() in the spin-wait loop in shutdown_gc_threads()
Update "stolen syntax" section (#8575)
Fix documentation of FlexibleContexts (#8574)
Fix loopification with profiling and enable it by default (#8275)
Document solution to #8275
Don't explicitly refer to nodeReg in ldvEnterClosure
Move the LDV code below the self-loop label (#8275)
Respect the ordering of -package directives
Revert "Respect the ordering of -package directives"

This commit was accidentally pushed.

This reverts commit 574ccfa231ca05d03d1da9d31e5bc81e74cc5e1e.
TcDeriv: s/isomorphism/coercible

in comments and function names, to use less names for the same thing.
With GND, report Coercible errors earliy

just like other type errors occurring during deriving.
Print nicer error message for Coercible errors

It now reads

   Could not coerce from ‛S a’ to ‛S (NT a)’

and does not mention Coercible any more (as discussed in #8567).
Refactor deferTcSForAllEq: Do not bind, but return EvTerm
Bind monadic stuff in getCoercibleInst locally, not via parameters