From 0ce70ae22d801be9d94ced7083140222f6c1a233 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Fri, 18 Jul 2014 10:52:57 +0900 Subject: [PATCH] set Opt_SpecConstr just in case. --- Language/Haskell/GhcMod/DynFlags.hs | 13 +++++++------ Language/Haskell/GhcMod/Monad.hs | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Language/Haskell/GhcMod/DynFlags.hs b/Language/Haskell/GhcMod/DynFlags.hs index a4c75d6..c5020c3 100644 --- a/Language/Haskell/GhcMod/DynFlags.hs +++ b/Language/Haskell/GhcMod/DynFlags.hs @@ -1,16 +1,14 @@ module Language.Haskell.GhcMod.DynFlags where -import qualified Language.Haskell.GhcMod.Gap as Gap -import Language.Haskell.GhcMod.Types - import Control.Applicative ((<$>)) import Control.Monad (forM, void, (>=>)) +import DynFlags (ExtensionFlag(..), xopt, GeneralFlag(..), gopt_unset) import GHC (DynFlags(..), GhcMode(..), GhcLink(..), HscTarget(..), LoadHowMuch(..)) import qualified GHC as G -import GhcMonad import GHC.Paths (libdir) -import DynFlags (ExtensionFlag(..), xopt) - +import GhcMonad +import qualified Language.Haskell.GhcMod.Gap as Gap +import Language.Haskell.GhcMod.Types import System.IO.Unsafe (unsafePerformIO) data Build = CabalPkg | SingleFile deriving Eq @@ -42,6 +40,9 @@ setModeIntelligent df = df { , optLevel = 0 } +setFlags :: DynFlags -> DynFlags +setFlags df = df `gopt_unset` Opt_SpecConstr -- consume memory if -O2 + setIncludeDirs :: [IncludeDir] -> DynFlags -> DynFlags setIncludeDirs idirs df = df { importPaths = idirs } diff --git a/Language/Haskell/GhcMod/Monad.hs b/Language/Haskell/GhcMod/Monad.hs index 919289d..91ec2b8 100644 --- a/Language/Haskell/GhcMod/Monad.hs +++ b/Language/Haskell/GhcMod/Monad.hs @@ -190,6 +190,7 @@ initSession build Options {..} CompilerOptions {..} = do df <- G.getSessionDynFlags void $ G.setSessionDynFlags =<< addCmdOpts ghcOptions ( setModeSimple + $ setFlags $ setIncludeDirs includeDirs $ setBuildEnv build $ setEmptyLogger