diff --git a/doctest.cabal b/doctest.cabal
--- a/doctest.cabal
+++ b/doctest.cabal
@@ -1,5 +1,5 @@
 name:             doctest
-version:          0.9.9
+version:          0.9.10
 synopsis:         Test interactive Haskell examples
 description:      The doctest program checks examples in source code comments.
                   It is modeled after doctest for Python
@@ -82,7 +82,7 @@
   c-sources:
       test/integration/with-cbits/foo.c
   build-depends:
-      base-compat   >= 0.2.1
+      base
     , ghc
     , syb
     , deepseq
diff --git a/src/GhcUtil.hs b/src/GhcUtil.hs
--- a/src/GhcUtil.hs
+++ b/src/GhcUtil.hs
@@ -1,9 +1,9 @@
 {-# LANGUAGE CPP #-}
 module GhcUtil (withGhc) where
 
-import           Control.Exception
 import           GHC.Paths (libdir)
 #if __GLASGOW_HASKELL__ < 707
+import           Control.Exception
 import           GHC hiding (flags)
 import           DynFlags (dopt_set)
 #else
@@ -14,12 +14,14 @@
 
 import           MonadUtils (liftIO)
 import           System.Exit (exitFailure)
-import           StaticFlags (v_opt_C_ready)
-import           Data.IORef (writeIORef)
 
 #if __GLASGOW_HASKELL__ < 702
-#else
+import           StaticFlags (v_opt_C_ready)
+import           Data.IORef (writeIORef)
+#elif __GLASGOW_HASKELL__ < 707
 import           StaticFlags (saveStaticFlagGlobals, restoreStaticFlagGlobals)
+#else
+import           StaticFlags (discardStaticFlags)
 #endif
 
 
@@ -29,8 +31,10 @@
 -- GHC < 7.2 does not provide saveStaticFlagGlobals/restoreStaticFlagGlobals,
 -- so we need to modifying v_opt_C_ready directly
 bracketStaticFlags action = action `finally` writeIORef v_opt_C_ready False
-#else
+#elif __GLASGOW_HASKELL__ < 707
 bracketStaticFlags action = bracket saveStaticFlagGlobals restoreStaticFlagGlobals (const action)
+#else
+bracketStaticFlags action = action
 #endif
 
 -- Catch GHC source errors, print them and exit.
@@ -46,14 +50,17 @@
 -- | Run a GHC action in Haddock mode
 withGhc :: [String] -> ([String] -> Ghc a) -> IO a
 withGhc flags action = bracketStaticFlags $ do
-  writeIORef v_opt_C_ready False
   flags_ <- handleStaticFlags flags
 
   runGhc (Just libdir) $ do
     handleDynamicFlags flags_ >>= handleSrcErrors . action
 
 handleStaticFlags :: [String] -> IO [Located String]
+#if __GLASGOW_HASKELL__ < 707
 handleStaticFlags flags = fst `fmap` parseStaticFlags (map noLoc flags)
+#else
+handleStaticFlags flags = return $ map noLoc $ discardStaticFlags flags
+#endif
 
 handleDynamicFlags :: GhcMonad m => [Located String] -> m [String]
 handleDynamicFlags flags = do
