diff options
author | Norman Ramsey <nr@cs.tufts.edu> | 2022-02-07 10:42:36 -0500 |
---|---|---|
committer | Cheng Shao <astrohavoc@gmail.com> | 2022-05-21 03:11:04 +0000 |
commit | 4aa3c5bde8c54f6ab8cbb2a574f7654590c077ca (patch) | |
tree | 43e79b6f797f12a3eb040252a20ac80659c55514 /testsuite | |
parent | 36b8a57cb30c1374cce749b6f1554a2d438336b9 (diff) | |
download | haskell-wip/backend-as-record.tar.gz |
Change `Backend` type and remove direct dependencieswip/backend-as-record
With this change, `Backend` becomes an abstract type
(there are no more exposed value constructors).
Decisions that were formerly made by asking "is the
current back end equal to (or different from) this named value
constructor?" are now made by interrogating the back end about
its properties, which are functions exported by `GHC.Driver.Backend`.
There is a description of how to migrate code using `Backend` in the
user guide.
Clients using the GHC API can find a backdoor to access the Backend
datatype in GHC.Driver.Backend.Internal.
Bumps haddock submodule.
Fixes #20927
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/count-deps/CountDepsAst.stdout | 3 | ||||
-rw-r--r-- | testsuite/tests/count-deps/CountDepsParser.stdout | 3 | ||||
-rw-r--r-- | testsuite/tests/driver/T5313.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T10052/T10052.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T10052/T10052.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T8639_api.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/apirecomp001/myghc.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/print007.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/linking/dyn/T3372.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/should_fail/T10549.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/should_fail/T10549a.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/rts/linker/LinkerUnload.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/safeHaskell/ghci/p14.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/th/T8333.stderr | 2 |
14 files changed, 17 insertions, 15 deletions
diff --git a/testsuite/tests/count-deps/CountDepsAst.stdout b/testsuite/tests/count-deps/CountDepsAst.stdout index 2dfd8309c7..31cf9d458a 100644 --- a/testsuite/tests/count-deps/CountDepsAst.stdout +++ b/testsuite/tests/count-deps/CountDepsAst.stdout @@ -1,4 +1,4 @@ -Found 284 Language.Haskell.Syntax module dependencies +Found 285 Language.Haskell.Syntax module dependencies GHC.Builtin.Names GHC.Builtin.PrimOps GHC.Builtin.PrimOps.Ids @@ -86,6 +86,7 @@ GHC.Data.Strict GHC.Data.StringBuffer GHC.Data.TrieMap GHC.Driver.Backend +GHC.Driver.Backend.Internal GHC.Driver.CmdLine GHC.Driver.Config.Diagnostic GHC.Driver.Config.Logger diff --git a/testsuite/tests/count-deps/CountDepsParser.stdout b/testsuite/tests/count-deps/CountDepsParser.stdout index 8a64148831..b3834a0f92 100644 --- a/testsuite/tests/count-deps/CountDepsParser.stdout +++ b/testsuite/tests/count-deps/CountDepsParser.stdout @@ -1,4 +1,4 @@ -Found 291 GHC.Parser module dependencies +Found 292 GHC.Parser module dependencies GHC.Builtin.Names GHC.Builtin.PrimOps GHC.Builtin.PrimOps.Ids @@ -86,6 +86,7 @@ GHC.Data.Strict GHC.Data.StringBuffer GHC.Data.TrieMap GHC.Driver.Backend +GHC.Driver.Backend.Internal GHC.Driver.Backpack.Syntax GHC.Driver.CmdLine GHC.Driver.Config.Diagnostic diff --git a/testsuite/tests/driver/T5313.hs b/testsuite/tests/driver/T5313.hs index 7379e9bb53..c64a9f38b8 100644 --- a/testsuite/tests/driver/T5313.hs +++ b/testsuite/tests/driver/T5313.hs @@ -7,7 +7,7 @@ main = do -- begin initialize df0 <- GHC.getSessionDynFlags let df1 = df0{GHC.ghcMode = GHC.CompManager, - GHC.backend = GHC.Interpreter, + GHC.backend = GHC.interpreterBackend, GHC.ghcLink = GHC.LinkInMemory, GHC.verbosity = 0} _ <- GHC.setSessionDynFlags df1 diff --git a/testsuite/tests/ghc-api/T10052/T10052.hs b/testsuite/tests/ghc-api/T10052/T10052.hs index 2b82a41c15..472667b188 100644 --- a/testsuite/tests/ghc-api/T10052/T10052.hs +++ b/testsuite/tests/ghc-api/T10052/T10052.hs @@ -23,7 +23,7 @@ runGhc' args act = do logger <- getLogger (dflags1, _leftover, _warns) <- parseDynamicFlags logger dflags0 flags let dflags2 = dflags1 { - backend = Interpreter + backend = interpreterBackend , ghcLink = LinkInMemory , verbosity = 1 } diff --git a/testsuite/tests/ghc-api/T10052/T10052.stderr b/testsuite/tests/ghc-api/T10052/T10052.stderr index 50db4fe9f2..14d76b9f49 100644 --- a/testsuite/tests/ghc-api/T10052/T10052.stderr +++ b/testsuite/tests/ghc-api/T10052/T10052.stderr @@ -1,3 +1,3 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghc-api/T8639_api.hs b/testsuite/tests/ghc-api/T8639_api.hs index e74b994a27..8b9b5ce95d 100644 --- a/testsuite/tests/ghc-api/T8639_api.hs +++ b/testsuite/tests/ghc-api/T8639_api.hs @@ -11,7 +11,7 @@ main = do { [libdir] <- getArgs ; runGhc (Just libdir) $ do flags <- getSessionDynFlags - setSessionDynFlags (flags{ backend = Interpreter, ghcLink = LinkInMemory}) + setSessionDynFlags (flags{ backend = interpreterBackend, ghcLink = LinkInMemory}) target <- guessTarget "T8639_api_a.hs" Nothing Nothing setTargets [target] load LoadAllTargets diff --git a/testsuite/tests/ghc-api/apirecomp001/myghc.hs b/testsuite/tests/ghc-api/apirecomp001/myghc.hs index 3d2cb9c238..7f1d7cdfff 100644 --- a/testsuite/tests/ghc-api/apirecomp001/myghc.hs +++ b/testsuite/tests/ghc-api/apirecomp001/myghc.hs @@ -26,7 +26,7 @@ main = do logger <- getLogger (dflags, _, _) <- parseDynamicFlags logger dflags0 (map (mkGeneralLocated "on the commandline") args) - setSessionDynFlags $ dflags { backend = NoBackend + setSessionDynFlags $ dflags { backend = noBackend , ghcLink = LinkInMemory , verbosity = 0 -- silence please } @@ -37,7 +37,7 @@ main = do prn "target nothing: ok" dflags <- getSessionDynFlags - setSessionDynFlags $ dflags { backend = Interpreter } + setSessionDynFlags $ dflags { backend = interpreterBackend } ok <- load LoadAllTargets when (failed ok) $ error "Couldn't load A.hs in interpreted mode" prn "target interpreted: ok" diff --git a/testsuite/tests/ghci.debugger/scripts/print007.stderr b/testsuite/tests/ghci.debugger/scripts/print007.stderr index 50db4fe9f2..14d76b9f49 100644 --- a/testsuite/tests/ghci.debugger/scripts/print007.stderr +++ b/testsuite/tests/ghci.debugger/scripts/print007.stderr @@ -1,3 +1,3 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghci/linking/dyn/T3372.hs b/testsuite/tests/ghci/linking/dyn/T3372.hs index e49e0a1672..91f67fabcd 100644 --- a/testsuite/tests/ghci/linking/dyn/T3372.hs +++ b/testsuite/tests/ghci/linking/dyn/T3372.hs @@ -41,7 +41,7 @@ newGhcServer = do (libdir:_) <- getArgs where ghc action libdir = GHC.runGhc (Just libdir) (init >> action) init = do df <- GHC.getSessionDynFlags GHC.setSessionDynFlags df{GHC.ghcMode = GHC.CompManager, - GHC.backend = GHC.Interpreter, + GHC.backend = GHC.interpreterBackend, GHC.ghcLink = GHC.LinkInMemory, GHC.verbosity = 0} diff --git a/testsuite/tests/ghci/should_fail/T10549.stderr b/testsuite/tests/ghci/should_fail/T10549.stderr index 50db4fe9f2..14d76b9f49 100644 --- a/testsuite/tests/ghci/should_fail/T10549.stderr +++ b/testsuite/tests/ghci/should_fail/T10549.stderr @@ -1,3 +1,3 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghci/should_fail/T10549a.stderr b/testsuite/tests/ghci/should_fail/T10549a.stderr index 50db4fe9f2..14d76b9f49 100644 --- a/testsuite/tests/ghci/should_fail/T10549a.stderr +++ b/testsuite/tests/ghci/should_fail/T10549a.stderr @@ -1,3 +1,3 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/rts/linker/LinkerUnload.hs b/testsuite/tests/rts/linker/LinkerUnload.hs index ae4bd7562a..c13ad016c2 100644 --- a/testsuite/tests/rts/linker/LinkerUnload.hs +++ b/testsuite/tests/rts/linker/LinkerUnload.hs @@ -17,7 +17,7 @@ loadPackages = do [libdir] <- getArgs runGhc (Just libdir) $ do dflags <- getSessionDynFlags - let dflags' = dflags { backend = NoBackend + let dflags' = dflags { backend = noBackend , ghcLink = LinkInMemory } setSessionDynFlags dflags' hsc_env <- getSession diff --git a/testsuite/tests/safeHaskell/ghci/p14.stderr b/testsuite/tests/safeHaskell/ghci/p14.stderr index 66ac9c0074..74717b1217 100644 --- a/testsuite/tests/safeHaskell/ghci/p14.stderr +++ b/testsuite/tests/safeHaskell/ghci/p14.stderr @@ -1,6 +1,6 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. <interactive>:10:25: error: ⢠No instance for (Num a) arising from a use of âfâ diff --git a/testsuite/tests/th/T8333.stderr b/testsuite/tests/th/T8333.stderr index 50db4fe9f2..14d76b9f49 100644 --- a/testsuite/tests/th/T8333.stderr +++ b/testsuite/tests/th/T8333.stderr @@ -1,3 +1,3 @@ when making flags consistent: warning: - Optimization flags conflict with --interactive; optimization flags ignored. + Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. |