  -- Determines whether two 'UniqFm's contain the same keys.
  equalKeysUFM :: UniqFM a -> UniqFM b -> Bool
  #if MIN_VERSION_containers(0,5,9)
+diff --git a/haddock.diff b/haddock.diff
+new file mode 100644
+index 0000000000..ce79187d19
+--- /dev/null
++++ b/haddock.diff
+@@ -0,0 +1,10 @@
++diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs
++index e002b602..11ea8ab7 100644
++--- a/haddock-api/src/Haddock/Backends/Hoogle.hs
+++++ b/haddock-api/src/Haddock/Backends/Hoogle.hs
++@@ -1,4 +1,4 @@
++-{-# LANGUAGE FlexibleContexts #-}
+++{-# LANGUAGE FlexibleContexts, TypeFamilies #-}
++ -----------------------------------------------------------------------------
++ -- |
++ -- Module      :  Haddock.Backends.Hoogle
 diff --git a/run_test.sh b/run_test.sh
 new file mode 100755
 index 0000000000..c9c2d4bd7f

 import ListSetOps
 import Outputable
 import ConLike
@@ -136,6 +137,7 @@ import HsDumpAst
 import qualified Data.Set as S
 
 import Control.Monad
+import System.Directory
 
 #include "HsVersions.h"
 
@@ -417,6 +419,17 @@ tcRnSrcDecls explicit_mod_hdr decls
         -- Finalizers must run after constraints are simplified, or some types
         -- might not be complete when using reify (see #12777).
       ; (tcg_env, tcl_env) <- setGblEnv tcg_env run_th_modfinalizers

 hsLitType (HsCharPrim _ _)   = charPrimTy
 hsLitType (HsString _ _)     = stringTy
diff --git a/compiler/typecheck/TcRnDriver.hs b/compiler/typecheck/TcRnDriver.hs
index 40b5efec84..42745dd2c8 100644
--- a/compiler/typecheck/TcRnDriver.hs
+++ b/compiler/typecheck/TcRnDriver.hs
@@ -44,7 +44,7 @@ module TcRnDriver (
