Commit 342b18fc authored by Simon Marlow's avatar Simon Marlow
Browse files

#2197: try to detect when GHCi is compiled with -prof and emit an error message

parent 058b5c20
......@@ -38,6 +38,7 @@ import Outputable hiding (printForUser, printForUserPartWay)
import Module -- for ModuleEnv
import Name
import SrcLoc
import ObjLink
-- Other random utilities
import CmdLineParser
......@@ -285,6 +286,13 @@ findEditor = do
interactiveUI :: [(FilePath, Maybe Phase)] -> Maybe [String]
-> Ghc ()
interactiveUI srcs maybe_exprs = do
-- although GHCi compiles with -prof, it is not usable: the byte-code
-- compiler and interpreter don't work with profiling. So we check for
-- this up front and emit a helpful error message (#2197)
m <- liftIO $ lookupSymbol "PushCostCentre"
when (isJust m) $
ghcError (InstallationError "GHCi cannot be used when compiled with -prof")
-- HACK! If we happen to get into an infinite loop (eg the user
-- types 'let x=x in x' at the prompt), then the thread will block
-- on a blackhole, and become unreachable during GC. The GC will
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment