Temporarily fight off build bogons on OS X

Right now there's a bug with Clang that prevents 'cabal haddock' from
working nicely. But there's an easy fix for now.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Support thin archive format

This is a patch from FB's internal build of GHC that I'm pushing
upstream.

Author: Andrew Gallagher <agallagher@fb.com>

This diff adds simple thin archive support to ghc's linker code, which
basically just entails finding the member data from disk rather than
from inside the archive (except for the case of the symbol index and
gnu filename index, where the member data is still inline).
Update Haddock submodule
Make sure that polykinded Typeable is defaultable (Trac #8931)
Fix desguaring of bang patterns (Trac #8952)

A palpable bug, although one that will rarely bite
Test Trac #8931
Parse the variables in a type signature in the order given (Trac #8945)

This is just making the parser behave more sensibly, and return
the list [x,y,z] from the signature
   x,y,z :: Int
rathe than [x,z,y] as now.

Turns out that the other use of sig_vars *did* do the right
thing already.
Update Haddock submodule
With AutoDeriveTypeable, derive for promoted constructors, too.

This addresses #8950. However, the problem isn't completely solved,
because the Prelude types' Typeable instances are not created by
AutoDeriveTypeable.
Simplify and tidy up the handling of tuple names

This fixes Trac #8954.

There were actually three places where tuple occ-names
were parsed:
  - IfaceEnv.lookupOrigNameCache
  - Convert.isBuiltInOcc
  - OccName.isTupleOcc_maybe

I combined all three into TysWiredIn.isBuiltInOcc_maybe
Much nicer.
Revert "Revert ad15c2, which causes Windows seg-faults (Trac #8834)"

This reverts commit a79613a75c7da0d3d225850382f0f578a07113b5.
windows: Fix #8870

This bumps the amount of default reserved and committed stack for GHC
executables to 8mb, to work around #8870. A proper fix should happen in
7.8.2

See note [Windows stack usage] in SysTools for the details.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Fix copy/paste error (#8937)
Test return value of clock_gettime() for errors.

I don't want to fall back to gettimeofday(), because that might have a
different absolute value.
Disable thin archive support on Windows
Fix #8958.

We now do role inference on stupid datatype contexts, allowing a
lightweight role annotation syntax.
Add test case for #8950.
Require PatternSynonyms language flag when encountering a use of pattern synonym
(#8961)
Small issue with signatures in a TH splice (fixes Trac #8932)
Update long-out-of-date performance numbers on 32-bit

Many are improvements!