Insert changelog entries for GHC 7.8.4

[skip ci]
Define `Data` instance for `Natural` type (#9818)

This follows the same style as the other integral `Data` instances
defined in the `Data.Data` module.

Reviewed By: ekmett

Differential Revision: https://phabricator.haskell.org/D526
Test Trac #9834
Use {bit,popCount}Integer for `Bits Integer`

The primops are implemented in the `integer-gmp2` (#9281) backend and
are already used for the `Bits Natural` instance but aren't used yet for
the `Bits Integer` instace.  This commit fixes that.
configure.ac: fix test == bashism

Signed-off-by: Austin Seipp <austin@well-typed.com>
Cabal submodule update: hole support and tests.

Depends on D485

Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: simonpj, austin

Subscribers: thomie, carter

Differential Revision: https://phabricator.haskell.org/D487
Inline mkModuleToPkgConfAll into mkModuleToPkgConfGeneric.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Change loadSrcInterface to return a list of ModIface

Summary:
This change is in preparation to support signature imports, which may pull in
multiple interface files.  At the moment, the list always contains only one
element, but in a later patch it may contain more.

I also adjusted some error reporting code so that it didn't take the full
iface, but just whether or not the iface in question was a boot module.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: simonpj, austin

Subscribers: thomie, carter

Differential Revision: https://phabricator.haskell.org/D436
Don't require PatternSynonyms language extension to just use pattern synonyms
(see #9838)
Resume reporting incomplete pattern matches for record updates

They were being inadvertently suppressed, even if you said -fwarn-incomplete-record-updates

See Trac #5728
Don't require ConstraintKinds at usage sites (Trac #9838)
Trac #6022 is actually fine now
Test Trac #7243
Get the right fixity-env in standalone deriving (Trac #9830)
Embed Git commit id into `ghc --info` output

Since we switched to a Git submodule based GHC Git repo, `ghc.git`'s
commit id uniquely identifies the state of the GHC source-tree. So
having that information embedded into the `ghc` executable provides
valuable information to track accurately (especially when created by
buildbots) from which source-tree-state a given `ghc` snapshot
(distribution) was generated.

So this commit adds a new field `"Project Git commit id"` to the
`ghc --info` meta-data containing the `./configure`-time Git commit id
as reported by `git rev-parse HEAD`.

This field can also be queried with `ghc --print-project-git-commit-id`.

For source distributions, the file `GIT_COMMIT_ID` is created (with some
sanity checking to detect stale commit ids, as that would render this
information rather useless)

Reviewed By: austin

Differential Revision: https://phabricator.haskell.org/D528
compiler: add new modules pulling in FunFlags

And also sync type signature under '#ifndef GHCI'
Tested by setting
    GhcWithInterpreter = NO

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Improve VERSION/GIT_COMMIT_ID handling for sdist

This makes `VERSION` updating a bit more robust (the file gets only
updated if its content would actually change), as well as moving the
dependency of `VERSION` and `GIT_COMMIT_ID` to the `sdist-ghc-prep`
target, as that's where it's actually needed.

This fixes the specialised target `make sdist-ghc` not properly
creating/updating the `VERSION` and `GIT_COMMIT_ID` files before
creating the ghc source-dist tarball, as well as avoiding stale
`VERSION` files.
Don't discard a bang on a newtype pattern (Trac #9844)

We were wrongly simply dropping the bang, in tidy_bang_pat.
Tidy up tracing somewhat

This is a knock-on from the -dump-to-file changes.
(I found that -ddump-cs-trace stuff wasn't coming out!)
Re-implement `testPrimeInteger` predicate (#9281)

This also adds `testPrimeWord#` and `testPrimeBigNat` predicates.

`testPrimeInteger` has been available since `integer-gmp-0.5.1`
(added via f49735486533842cc84df70cafc8d565dffd75db).
The `nextPrimeInteger` function is still missing though.