summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2021-04-27 15:33:18 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2021-05-27 19:43:05 +0100
commit95d716194dfe291b6dafa8b8e162c5f5ca7bc4f7 (patch)
treedd3f87f6066a83933f68f927a11e27174996aa13
parent3e4ef4b2d05ce0bdd70abd96066f0376dc0e13d6 (diff)
downloadhaskell-wip/ghci-keep-going.tar.gz
ghci: Enable -fkeep-going by defaultwip/ghci-keep-going
This also demotes the error message about -fkeep-going to a trace message which matches the behaviour of other build systems (such as cabal-install and nix) which don't print any message like this on a failure. We want to remove the stable module check in a future patch, which is an approximation of `-fkeep-going`. At the moment this change shouldn't do very much.
-rw-r--r--compiler/GHC/Driver/Make.hs2
-rw-r--r--ghc/GHCi/UI.hs4
-rw-r--r--testsuite/tests/ghci/prog019/prog019.stderr4
-rw-r--r--testsuite/tests/ghci/scripts/T9293.stdout3
-rw-r--r--testsuite/tests/ghci/scripts/T9293.stdout-mingw323
-rw-r--r--testsuite/tests/ghci/scripts/ghci024.stdout1
-rw-r--r--testsuite/tests/ghci/scripts/ghci024.stdout-mingw321
-rw-r--r--testsuite/tests/ghci/scripts/ghci057.stdout3
-rw-r--r--testsuite/tests/ghci/scripts/ghci057.stdout-mingw323
9 files changed, 19 insertions, 5 deletions
diff --git a/compiler/GHC/Driver/Make.hs b/compiler/GHC/Driver/Make.hs
index e73b3fb39d..0d9f866827 100644
--- a/compiler/GHC/Driver/Make.hs
+++ b/compiler/GHC/Driver/Make.hs
@@ -1513,7 +1513,7 @@ upsweep mHscMessage old_hpt stable_mods sccs = do
when (not $ null dropped_ms) $ do
dflags <- getSessionDynFlags
logger <- getLogger
- liftIO $ fatalErrorMsg logger dflags (keepGoingPruneErr $ dropped_ms)
+ liftIO $ debugTraceMsg logger dflags 2 (keepGoingPruneErr dropped_ms)
(_, done') <- upsweep' old_hpt done mods' (mod_index+1) nmods'
return (Failed, done')
diff --git a/ghc/GHCi/UI.hs b/ghc/GHCi/UI.hs
index 9b520c7e23..7176b1e596 100644
--- a/ghc/GHCi/UI.hs
+++ b/ghc/GHCi/UI.hs
@@ -481,6 +481,10 @@ interactiveUI config srcs maybe_exprs = do
LangExt.MonomorphismRestriction xopt_unset)
$ dflags
GHC.setInteractiveDynFlags dflags'
+ _ <- GHC.setProgramDynFlags
+ -- Set Opt_KeepGoing so that :reload loads as much as
+ -- possible
+ (gopt_set dflags Opt_KeepGoing)
-- Update the LogAction. Ensure we don't override the user's log action lest
-- we break -ddump-json (#14078)
diff --git a/testsuite/tests/ghci/prog019/prog019.stderr b/testsuite/tests/ghci/prog019/prog019.stderr
index b915e3d049..2a6fd015e4 100644
--- a/testsuite/tests/ghci/prog019/prog019.stderr
+++ b/testsuite/tests/ghci/prog019/prog019.stderr
@@ -2,10 +2,6 @@
B2.hs:3:1: error:
Parse error: module header, import declaration
or top-level declaration expected.
--fkeep-going in use, removing the following dependencies and continuing:
- B1
- B
- A
D.hs:3:1: error:
Parse error: module header, import declaration
diff --git a/testsuite/tests/ghci/scripts/T9293.stdout b/testsuite/tests/ghci/scripts/T9293.stdout
index 15c36fb34e..70803c3f14 100644
--- a/testsuite/tests/ghci/scripts/T9293.stdout
+++ b/testsuite/tests/ghci/scripts/T9293.stdout
@@ -9,6 +9,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -29,6 +30,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -48,6 +50,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
diff --git a/testsuite/tests/ghci/scripts/T9293.stdout-mingw32 b/testsuite/tests/ghci/scripts/T9293.stdout-mingw32
index b62a76b18e..0fa4660e33 100644
--- a/testsuite/tests/ghci/scripts/T9293.stdout-mingw32
+++ b/testsuite/tests/ghci/scripts/T9293.stdout-mingw32
@@ -8,6 +8,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -27,6 +28,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -45,6 +47,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
diff --git a/testsuite/tests/ghci/scripts/ghci024.stdout b/testsuite/tests/ghci/scripts/ghci024.stdout
index 7cf36ac041..20750f5817 100644
--- a/testsuite/tests/ghci/scripts/ghci024.stdout
+++ b/testsuite/tests/ghci/scripts/ghci024.stdout
@@ -10,6 +10,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
diff --git a/testsuite/tests/ghci/scripts/ghci024.stdout-mingw32 b/testsuite/tests/ghci/scripts/ghci024.stdout-mingw32
index 5a6d495c04..1c03e5fab8 100644
--- a/testsuite/tests/ghci/scripts/ghci024.stdout-mingw32
+++ b/testsuite/tests/ghci/scripts/ghci024.stdout-mingw32
@@ -9,6 +9,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
diff --git a/testsuite/tests/ghci/scripts/ghci057.stdout b/testsuite/tests/ghci/scripts/ghci057.stdout
index 15c36fb34e..70803c3f14 100644
--- a/testsuite/tests/ghci/scripts/ghci057.stdout
+++ b/testsuite/tests/ghci/scripts/ghci057.stdout
@@ -9,6 +9,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -29,6 +30,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -48,6 +50,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
diff --git a/testsuite/tests/ghci/scripts/ghci057.stdout-mingw32 b/testsuite/tests/ghci/scripts/ghci057.stdout-mingw32
index b62a76b18e..0fa4660e33 100644
--- a/testsuite/tests/ghci/scripts/ghci057.stdout-mingw32
+++ b/testsuite/tests/ghci/scripts/ghci057.stdout-mingw32
@@ -8,6 +8,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -27,6 +28,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup
@@ -45,6 +47,7 @@ other dynamic, non-language, flag settings:
-fignore-hpc-changes
-fno-ghci-history
-fimplicit-import-qualified
+ -fkeep-going
-fshow-warning-groups
warning settings:
-Wsemigroup