diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-09-10 18:20:45 +0200 |
---|---|---|
committer | Sylvain Henry <sylvain@haskus.fr> | 2020-09-29 17:24:03 +0200 |
commit | 8e3f00dd24936b6674d0a2322f8410125968583e (patch) | |
tree | d9630cc481aff867c16300b049b28e8cdd1a7aa2 /compiler/GHC/Driver/Config.hs | |
parent | 4365d77a0b306ada61654c3648b844cfa0f4fdcf (diff) | |
download | haskell-8e3f00dd24936b6674d0a2322f8410125968583e.tar.gz |
Make the parser module less dependent on DynFlags
Bump haddock submodule
Diffstat (limited to 'compiler/GHC/Driver/Config.hs')
-rw-r--r-- | compiler/GHC/Driver/Config.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/GHC/Driver/Config.hs b/compiler/GHC/Driver/Config.hs index f178597d1c..9cb566437b 100644 --- a/compiler/GHC/Driver/Config.hs +++ b/compiler/GHC/Driver/Config.hs @@ -2,6 +2,7 @@ module GHC.Driver.Config ( initOptCoercionOpts , initSimpleOpts + , initParserOpts ) where @@ -10,6 +11,7 @@ import GHC.Prelude import GHC.Driver.Session import GHC.Core.SimpleOpt import GHC.Core.Coercion.Opt +import GHC.Parser.Lexer -- | Initialise coercion optimiser configuration from DynFlags initOptCoercionOpts :: DynFlags -> OptCoercionOpts @@ -23,3 +25,15 @@ initSimpleOpts dflags = SimpleOpts { so_uf_opts = unfoldingOpts dflags , so_co_opts = initOptCoercionOpts dflags } + +-- | Extracts the flag information needed for parsing +initParserOpts :: DynFlags -> ParserOpts +initParserOpts = + mkParserOpts + <$> warningFlags + <*> extensionFlags + <*> homeUnitId_ + <*> safeImportsOn + <*> gopt Opt_Haddock + <*> gopt Opt_KeepRawTokenStream + <*> const True |