X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FMain.hs;h=3b4d5e0a94fb63aee33f294ec73a8fd0ceb76f04;hb=320738062c7a81f062c5adab98a1a1c4fdbd4bc7;hp=519d9cd0759333430bdb32bf754b355266047d80;hpb=7828bf3ea2ea34e7a3a8662f5f621ef706ffee5c;p=ghc-hetmet.git diff --git a/ghc/Main.hs b/ghc/Main.hs index 519d9cd..3b4d5e0 100644 --- a/ghc/Main.hs +++ b/ghc/Main.hs @@ -76,8 +76,9 @@ import Data.Maybe -- GHC's command-line interface main :: IO () -main = - GHC.defaultErrorHandler defaultDynFlags $ do +main = do + hSetBuffering stdout NoBuffering + GHC.defaultErrorHandler defaultDynFlags $ do -- 1. extract the -B flag from the args argv0 <- getArgs @@ -104,7 +105,7 @@ main = case mode of Left preStartupMode -> do case preStartupMode of - ShowSupportedLanguages -> showSupportedLanguages + ShowSupportedExtensions -> showSupportedExtensions ShowVersion -> showVersion ShowNumVersion -> putStrLn cProjectVersion Print str -> putStrLn str @@ -350,13 +351,13 @@ type PostStartupMode = Either PreLoadMode PostLoadMode data PreStartupMode = ShowVersion -- ghc -V/--version | ShowNumVersion -- ghc --numeric-version - | ShowSupportedLanguages -- ghc --supported-languages + | ShowSupportedExtensions -- ghc --supported-extensions | Print String -- ghc --print-foo -showVersionMode, showNumVersionMode, showSupportedLanguagesMode :: Mode -showVersionMode = mkPreStartupMode ShowVersion -showNumVersionMode = mkPreStartupMode ShowNumVersion -showSupportedLanguagesMode = mkPreStartupMode ShowSupportedLanguages +showVersionMode, showNumVersionMode, showSupportedExtensionsMode :: Mode +showVersionMode = mkPreStartupMode ShowVersion +showNumVersionMode = mkPreStartupMode ShowNumVersion +showSupportedExtensionsMode = mkPreStartupMode ShowSupportedExtensions printMode :: String -> Mode printMode str = mkPreStartupMode (Print str) @@ -495,19 +496,21 @@ type ModeM = CmdLineP (Maybe (Mode, String), [String], [Located String]) mode_flags :: [Flag ModeM] mode_flags = [ ------- help / version ---------------------------------------------- - Flag "?" (PassFlag (setMode showGhcUsageMode)) + Flag "?" (PassFlag (setMode showGhcUsageMode)) Supported - , Flag "-help" (PassFlag (setMode showGhcUsageMode)) + , Flag "-help" (PassFlag (setMode showGhcUsageMode)) Supported - , Flag "V" (PassFlag (setMode showVersionMode)) + , Flag "V" (PassFlag (setMode showVersionMode)) Supported - , Flag "-version" (PassFlag (setMode showVersionMode)) + , Flag "-version" (PassFlag (setMode showVersionMode)) Supported - , Flag "-numeric-version" (PassFlag (setMode showNumVersionMode)) + , Flag "-numeric-version" (PassFlag (setMode showNumVersionMode)) Supported - , Flag "-info" (PassFlag (setMode showInfoMode)) + , Flag "-info" (PassFlag (setMode showInfoMode)) Supported - , Flag "-supported-languages" (PassFlag (setMode showSupportedLanguagesMode)) + , Flag "-supported-languages" (PassFlag (setMode showSupportedExtensionsMode)) + Supported + , Flag "-supported-extensions" (PassFlag (setMode showSupportedExtensionsMode)) Supported ] ++ [ Flag k' (PassFlag (setMode mode)) @@ -673,8 +676,8 @@ showInfo dflags = do where flatten (k, String v) = (k, v) flatten (k, FromDynFlags f) = (k, f dflags) -showSupportedLanguages :: IO () -showSupportedLanguages = mapM_ putStrLn supportedLanguages +showSupportedExtensions :: IO () +showSupportedExtensions = mapM_ putStrLn supportedLanguagesAndExtensions showVersion :: IO () showVersion = putStrLn (cProjectName ++ ", version " ++ cProjectVersion)