blob: 6663e4be8a87fd0fb5c10259516076d509c23a41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
module GHC.Driver.Config.Core.Rules
( initRuleOpts
) where
import GHC.Prelude
import GHC.Driver.Flags
import GHC.Driver.Session ( DynFlags, gopt, targetPlatform, homeUnitId_ )
import GHC.Core.Rules.Config
import GHC.Unit.Types ( primUnitId, bignumUnitId )
-- | Initialize RuleOpts from DynFlags
initRuleOpts :: DynFlags -> RuleOpts
initRuleOpts dflags = RuleOpts
{ roPlatform = targetPlatform dflags
, roNumConstantFolding = gopt Opt_NumConstantFolding dflags
, roExcessRationalPrecision = gopt Opt_ExcessPrecision dflags
-- disable bignum rules in ghc-prim and ghc-bignum itself
, roBignumRules = homeUnitId_ dflags /= primUnitId
&& homeUnitId_ dflags /= bignumUnitId
}
|