diff options
-rw-r--r-- | compiler/main/GHC.hs | 15 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/StaticPtr.stderr | 3 |
2 files changed, 15 insertions, 3 deletions
diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index 4059860680..cf9c74f885 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -332,7 +332,7 @@ import Annotations import Module import Panic import Platform -import Bag ( unitBag ) +import Bag ( listToBag, unitBag ) import ErrUtils import MonadUtils import Util @@ -344,6 +344,7 @@ import FastString import qualified Parser import Lexer import ApiAnnotation +import qualified GHC.LanguageExtensions as LangExt import NameEnv import CoreFVs ( orphNamesOfFamInst ) import FamInstEnv ( famInstEnvElts ) @@ -676,8 +677,16 @@ checkNewDynFlags dflags = do checkNewInteractiveDynFlags :: MonadIO m => DynFlags -> m DynFlags checkNewInteractiveDynFlags dflags0 = do - -- Nothing to be done here - return dflags0 + -- We currently don't support use of StaticPointers in expressions entered on + -- the REPL. See #12356. + dflags1 <- + if xopt LangExt.StaticPointers dflags0 + then do liftIO $ printOrThrowWarnings dflags0 $ listToBag + [mkPlainWarnMsg dflags0 interactiveSrcSpan + $ text "StaticPointers is not supported in GHCi interactive expressions."] + return $ xopt_unset dflags0 LangExt.StaticPointers + else return dflags0 + return dflags1 -- %************************************************************************ diff --git a/testsuite/tests/ghci/scripts/StaticPtr.stderr b/testsuite/tests/ghci/scripts/StaticPtr.stderr new file mode 100644 index 0000000000..b45f64e64d --- /dev/null +++ b/testsuite/tests/ghci/scripts/StaticPtr.stderr @@ -0,0 +1,3 @@ + +<interactive>: warning: + StaticPointers is not supported in GHCi interactive expressions. |