Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/9c685f44e873f01403fd83209487faa64aeb47fb

>---------------------------------------------------------------

commit 9c685f44e873f01403fd83209487faa64aeb47fb
Author: Simon Marlow <[email protected]>
Date:   Tue Feb 7 09:27:18 2012 +0000

    Ignore -C when not unregisterised (reported on ghc-users)

>---------------------------------------------------------------

 ghc/Main.hs |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ghc/Main.hs b/ghc/Main.hs
index b9de7b1..a1943cf 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -537,8 +537,7 @@ mode_flags =
                                             addFlag "-no-link" f))
   , Flag "M"            (PassFlag (setMode doMkDependHSMode))
   , Flag "E"            (PassFlag (setMode (stopBeforeMode anyHsc)))
-  , Flag "C"            (PassFlag (\f -> do setMode (stopBeforeMode HCc) f
-                                            addFlag "-fvia-C" f))
+  , Flag "C"            (PassFlag setGenerateC)
   , Flag "S"            (PassFlag (setMode (stopBeforeMode As)))
   , Flag "-make"        (PassFlag (setMode doMakeMode))
   , Flag "-interactive" (PassFlag (setMode doInteractiveMode))
@@ -546,6 +545,14 @@ mode_flags =
   , Flag "e"            (SepArg   (\s -> setMode (doEvalMode s) "-e"))
   ]
 
+setGenerateC :: String -> EwM ModeM ()
+setGenerateC f
+  | cGhcUnregisterised /= "YES" = do
+        addWarn ("Compiler not unregisterised, so ignoring " ++ f)
+  | otherwise = do
+        setMode (stopBeforeMode HCc) f
+        addFlag "-fvia-C" f
+
 setMode :: Mode -> String -> EwM ModeM ()
 setMode newMode newFlag = liftEwM $ do
     (mModeFlag, errs, flags') <- getCmdLineState



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to