FIX #1155: ghci -debug generates slightly odd message
authorSimon Marlow <simonmar@microsoft.com>
Mon, 7 May 2007 10:24:18 +0000 (10:24 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Mon, 7 May 2007 10:24:18 +0000 (10:24 +0000)
compiler/main/Main.hs
compiler/main/StaticFlags.hs

index 048eee8..d5e8de7 100644 (file)
@@ -223,11 +223,15 @@ checkOptions cli_mode dflags srcs objs = do
    let unknown_opts = [ f | (f@('-':_), _) <- srcs ]
    when (notNull unknown_opts) (unknownFlagsErr unknown_opts)
 
+   when (notNull (filter isRTSWay (wayNames dflags))
+         && isInterpretiveMode cli_mode) $
+        putStrLn ("Warning: -debug, -threaded and -ticky are ignored by GHCi")
+
        -- -prof and --interactive are not a good combination
-   when (notNull (filter (/= WayThreaded) (wayNames dflags))
+   when (notNull (filter (not . isRTSWay) (wayNames dflags))
          && isInterpretiveMode cli_mode) $
       do throwDyn (UsageError 
-                   "--interactive can't be used with -prof, -ticky, or -unreg.")
+                   "--interactive can't be used with -prof or -unreg.")
        -- -ohi sanity check
    if (isJust (outputHi dflags) && 
       (isCompManagerMode cli_mode || srcs `lengthExceeds` 1))
index 2a8c4dc..1fa8388 100644 (file)
@@ -14,7 +14,7 @@ module StaticFlags (
        staticFlags,
 
        -- Ways
-       WayName(..), v_Ways, v_Build_tag, v_RTS_Build_tag,
+       WayName(..), v_Ways, v_Build_tag, v_RTS_Build_tag, isRTSWay,
 
        -- Output style options
        opt_PprUserLength,
@@ -512,6 +512,8 @@ lkupWay w =
        Nothing -> error "findBuildTag"
        Just details -> details
 
+isRTSWay = wayRTSOnly . lkupWay 
+
 data Way = Way {
   wayTag     :: String,
   wayRTSOnly :: Bool,