X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fcompiler%2Fmain%2FDriverFlags.hs;h=cd6a60c1ddaee47030886ccf65cb0b5aaf06ba3c;hb=ebef357f943e8fce48adb73053082204cc892f99;hp=4470862c3fa9bb14a039efeee5b3f824197964a0;hpb=0e5a78df9ae50ef650fc03440ebd60988ea5b3d1;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverFlags.hs b/ghc/compiler/main/DriverFlags.hs index 4470862..cd6a60c 100644 --- a/ghc/compiler/main/DriverFlags.hs +++ b/ghc/compiler/main/DriverFlags.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverFlags.hs,v 1.3 2000/10/11 16:26:04 simonmar Exp $ +-- $Id: DriverFlags.hs,v 1.6 2000/10/18 09:40:18 simonmar Exp $ -- -- Driver flags -- @@ -241,7 +241,6 @@ static_flags = ------- Specific phases -------------------------------------------- , ( "pgmL" , HasArg (writeIORef pgm_L) ) , ( "pgmP" , HasArg (writeIORef pgm_P) ) - , ( "pgmC" , HasArg (writeIORef pgm_C) ) , ( "pgmc" , HasArg (writeIORef pgm_c) ) , ( "pgmm" , HasArg (writeIORef pgm_m) ) , ( "pgms" , HasArg (writeIORef pgm_s) ) @@ -298,7 +297,8 @@ static_flags = ----------------------------------------------------------------------------- -- parse the dynamic arguments -GLOBAL_VAR(v_DynFlags, error "no dynFlags", DynFlags) +GLOBAL_VAR(v_InitDynFlags, error "no InitDynFlags", DynFlags) +GLOBAL_VAR(v_DynFlags, error "no DynFlags", DynFlags) setDynFlag f = do dfs <- readIORef v_DynFlags @@ -365,6 +365,23 @@ dynamic_flags = [ , ( "DoStgLinting", NoArg (setDynFlag Opt_DoStgLinting) ) , ( "DoUSPLinting", NoArg (setDynFlag Opt_DoUSPLinting) ) + ------ Warnings ---------------------------------------------------- + + , ( "-fwarn-duplicate-exports", NoArg (setDynFlag Opt_WarnDuplicateExports) ) + , ( "-fwarn-hi-shadowing", NoArg (setDynFlag Opt_WarnHiShadows) ) + , ( "-fwarn-incomplete-patterns", NoArg (setDynFlag Opt_WarnIncompletePatterns) ) + , ( "-fwarn-missing-fields", NoArg (setDynFlag Opt_WarnMissingFields) ) + , ( "-fwarn-missing-methods", NoArg (setDynFlag Opt_WarnMissingMethods)) + , ( "-fwarn-missing-signatures", NoArg (setDynFlag Opt_WarnMissingSigs) ) + , ( "-fwarn-name-shadowing", NoArg (setDynFlag Opt_WarnNameShadowin) ) + , ( "-fwarn-overlapping-patterns", NoArg (setDynFlag Opt_WarnOverlappingPatterns )) ) + , ( "-fwarn-simple-patterns", NoArg (setDynFlag Opt_WarnSimplePatterns)) + , ( "-fwarn-type-defaults", NoArg (setDynFlag Opt_WarnTypeDefaults) ) + , ( "-fwarn-unused-binds", NoArg (setDynFlag Opt_WarnUnusedBinds) ) + , ( "-fwarn-unused-imports", NoArg (setDynFlag Opt_WarnUnusedImports) ) + , ( "-fwarn-unused-matches", NoArg (setDynFlag Opt_WarnUnusedMatches) ) + , ( "-fwarn-deprecations", NoArg (setDynFlag Opt_WarnDeprecations) ) + ------ Machine dependant (-m) stuff --------------------------- , ( "monly-2-regs", NoArg (updateState (\s -> s{stolen_x86_regs = 2}) )) @@ -380,6 +397,10 @@ dynamic_flags = [ , ( "fallow-undecidable-instances", NoArg (setDynFlag Opt_AllowUndecidableInstances) ) + + , ( "fgenerics", NoArg (setDynFlag Opt_Generics) ) + + , ( "freport-compile", NoArg (setDynFlag Opt_ReportCompile) ) ] ----------------------------------------------------------------------------- @@ -448,12 +469,6 @@ build_hsc_opts = do static <- (do s <- readIORef static; if s then return "-static" else return "") - l <- readIORef hsc_lang - let lang = case l of - HscC -> "-olang=C" - HscAsm -> "-olang=asm" - HscJava -> "-olang=java" - -- get hi-file suffix hisuf <- readIORef hi_suf @@ -467,27 +482,8 @@ build_hsc_opts = do import_dirs <- readIORef import_paths package_import_dirs <- getPackageImportPath - let hi_map = "-himap=" ++ - makeHiMap import_dirs hisuf - package_import_dirs package_hisuf - split_marker - - hi_map_sep = "-himap-sep=" ++ [split_marker] - return ( filtered_opts - ++ [ hi_vers, static, verb, lang, hi_map, hi_map_sep ] + ++ [ hi_vers, static, verb ] ) - -makeHiMap - (import_dirs :: [String]) - (hi_suffix :: String) - (package_import_dirs :: [String]) - (package_hi_suffix :: String) - (split_marker :: Char) - = foldr (add_dir hi_suffix) - (foldr (add_dir package_hi_suffix) "" package_import_dirs) - import_dirs - where - add_dir hisuf dir str = dir ++ "%." ++ hisuf ++ split_marker : str