Fix whitespace
[ghc-hetmet.git] / compiler / main / Main.hs
index bc18dae..d41e590 100644 (file)
@@ -1,4 +1,11 @@
 {-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 -----------------------------------------------------------------------------
 --
 -- GHC Driver program
@@ -47,6 +54,7 @@ import System.IO
 import System.Directory        ( doesDirectoryExist )
 import System.Environment
 import System.Exit
+import System.FilePath
 import Control.Monad
 import Data.List
 import Data.Maybe
@@ -140,7 +148,7 @@ main =
      -- To simplify the handling of filepaths, we normalise all filepaths right 
      -- away - e.g., for win32 platforms, backslashes are converted
      -- into forward slashes.
-    normal_fileish_paths = map normalisePath fileish_args
+    normal_fileish_paths = map normalise fileish_args
     (srcs, objs)         = partition_args normal_fileish_paths [] []
 
   -- Note: have v_Ld_inputs maintain the order in which 'objs' occurred on 
@@ -357,42 +365,42 @@ type ModeM a = CmdLineP (CmdLineMode, String, [String]) a
 mode_flags :: [(String, OptKind (CmdLineP (CmdLineMode, String, [String])))]
 mode_flags =
   [  ------- help / version ----------------------------------------------
-     ( "?"              , PassFlag (setMode ShowUsage))
-  ,  ( "-help"          , PassFlag (setMode ShowUsage))
-  ,  ( "-print-libdir"   , PassFlag (setMode PrintLibdir))
-  ,  ( "V"              , PassFlag (setMode ShowVersion))
-  ,  ( "-version"       , PassFlag (setMode ShowVersion))
-  ,  ( "-numeric-version", PassFlag (setMode ShowNumVersion))
-  ,  ( "-info", PassFlag (setMode ShowInfo))
+     ( "?"                   , PassFlag (setMode ShowUsage))
+  ,  ( "-help"               , PassFlag (setMode ShowUsage))
+  ,  ( "-print-libdir"       , PassFlag (setMode PrintLibdir))
+  ,  ( "V"                   , PassFlag (setMode ShowVersion))
+  ,  ( "-version"            , PassFlag (setMode ShowVersion))
+  ,  ( "-numeric-version"    , PassFlag (setMode ShowNumVersion))
+  ,  ( "-info"               , PassFlag (setMode ShowInfo))
   ,  ( "-supported-languages", PassFlag (setMode ShowSupportedLanguages))
 
       ------- interfaces ----------------------------------------------------
   ,  ( "-show-iface"     , HasArg (\f -> setMode (ShowInterface f)
-                                         "--show-iface"))
+                                                 "--show-iface"))
 
       ------- primary modes ------------------------------------------------
-  ,  ( "M"             , PassFlag (setMode DoMkDependHS))
-  ,  ( "E"             , PassFlag (setMode (StopBefore anyHsc)))
-  ,  ( "C"             , PassFlag (\f -> do setMode (StopBefore HCc) f
-                                            addFlag "-fvia-C"))
-  ,  ( "S"             , PassFlag (setMode (StopBefore As)))
-  ,  ( "-make"         , PassFlag (setMode DoMake))
-  ,  ( "-interactive"  , PassFlag (setMode DoInteractive))
+  ,  ( "M"              , PassFlag (setMode DoMkDependHS))
+  ,  ( "E"              , PassFlag (setMode (StopBefore anyHsc)))
+  ,  ( "C"              , PassFlag (\f -> do setMode (StopBefore HCc) f
+                                             addFlag "-fvia-C"))
+  ,  ( "S"              , PassFlag (setMode (StopBefore As)))
+  ,  ( "-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"))
+       -- -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 ()
 setMode m flag = do
   (old_mode, old_flag, flags) <- getCmdLineState
-  when (notNull old_flag && flag /= old_flag) $
-      throwDyn (UsageError 
-          ("cannot use `" ++ old_flag ++ "' with `" ++ flag ++ "'"))
-  putCmdLineState (m, flag, flags)
+  if notNull old_flag && flag /= old_flag
+      then throwDyn (UsageError
+               ("cannot use `" ++ old_flag ++ "' with `" ++ flag ++ "'"))
+      else putCmdLineState (m, flag, flags)
 
 addFlag :: String -> ModeM ()
 addFlag s = do