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