From 9bc25046e3e61fca7b0bf72e6710b42bebb2a6b5 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Mon, 28 Apr 2014 14:36:55 +0900 Subject: [PATCH] rescue old GHCs. --- Language/Haskell/GhcMod/GHCApi.hs | 5 ++--- Language/Haskell/GhcMod/Gap.hs | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Language/Haskell/GhcMod/GHCApi.hs b/Language/Haskell/GhcMod/GHCApi.hs index e7b460f..7bad3fd 100644 --- a/Language/Haskell/GhcMod/GHCApi.hs +++ b/Language/Haskell/GhcMod/GHCApi.hs @@ -20,7 +20,6 @@ import Language.Haskell.GhcMod.GhcPkg import Control.Applicative ((<$>)) import Control.Monad (forM, void) import CoreMonad (liftIO) -import Data.IntSet (IntSet, empty) import Data.Maybe (isJust, fromJust) import Exception (ghandle, SomeException(..)) import GHC (Ghc, GhcMonad, DynFlags(..), GhcLink(..), HscTarget(..), LoadHowMuch(..)) @@ -188,12 +187,12 @@ withDynFlags setFlag body = G.gbracket setup teardown (\_ -> body) ---------------------------------------------------------------- setNoWaringFlags :: DynFlags -> DynFlags -setNoWaringFlags df = df { warningFlags = empty} +setNoWaringFlags df = df { warningFlags = Gap.emptyWarnFlags} setAllWaringFlags :: DynFlags -> DynFlags setAllWaringFlags df = df { warningFlags = allWarningFlags } -allWarningFlags :: IntSet +allWarningFlags :: Gap.WarnFlags allWarningFlags = unsafePerformIO $ do mlibdir <- getSystemLibDir G.runGhc mlibdir $ do diff --git a/Language/Haskell/GhcMod/Gap.hs b/Language/Haskell/GhcMod/Gap.hs index d8b1b19..1ceb355 100644 --- a/Language/Haskell/GhcMod/Gap.hs +++ b/Language/Haskell/GhcMod/Gap.hs @@ -28,6 +28,8 @@ module Language.Haskell.GhcMod.Gap ( , GapThing(..) , fromTyThing , fileModSummary + , WarnFlags + , emptyWarnFlags ) where import Control.Applicative hiding (empty) @@ -71,6 +73,10 @@ import Control.Arrow hiding ((<+>)) import Data.Convertible #endif +#if __GLASGOW_HASKELL__ >= 704 +import qualified Data.IntSet as I (IntSet, empty) +#endif + ---------------------------------------------------------------- ---------------------------------------------------------------- -- @@ -359,3 +365,16 @@ fromTyThing (ADataCon d) = GtA $ dataConRepType d #endif fromTyThing (ATyCon t) = GtT t fromTyThing _ = GtN + +---------------------------------------------------------------- +---------------------------------------------------------------- + +#if __GLASGOW_HASKELL__ >= 704 +type WarnFlags = I.IntSet +emptyWarnFlags :: WarnFlags +emptyWarnFlags = I.empty +#else +type WarnFlags = [WarningFlag] +emptyWarnFlags :: WarnFlags +emptyWarnFlags = [] +#endif