-fno-code shouldn't be a mode.
[ghc-hetmet.git] / ghc / compiler / main / Main.hs
index ec5a116..468c0a6 100644 (file)
@@ -147,7 +147,13 @@ main =
         ShowInterface f -> showIface f
        DoMake          -> doMake session srcs
        DoMkDependHS    -> doMkDependHS session (map fst srcs)
-       StopBefore p    -> oneShot dflags p srcs
+       StopBefore p
+            -- Stop after compiling Haskell if we aren't
+            -- interested in any further results.
+            | HscNothing <- hscTarget dflags
+                        -> oneShot dflags HCc srcs
+            | otherwise
+                        -> oneShot dflags p srcs
        DoInteractive   -> interactiveUI session srcs Nothing
        DoEval expr     -> interactiveUI session srcs (Just expr)
 
@@ -348,11 +354,6 @@ mode_flags =
   ,  ( "-make"         , PassFlag (setMode DoMake))
   ,  ( "-interactive"  , PassFlag (setMode DoInteractive))
   ,  ( "e"              , HasArg   (\s -> setMode (DoEval s) "-e"))
-
-       -- -fno-code says to stop after Hsc but don't generate any code.
-  ,  ( "fno-code"      , PassFlag (\f -> do setMode (StopBefore HCc) f
-                                            addFlag "-fno-code"
-                                            addFlag "-no-recomp"))
   ]
 
 setMode :: CmdLineMode -> String -> ModeM ()