X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverFlags.hs;h=4bd5129b2ce4138869918fdaa4ea1e59db87aa5c;hb=9a592c0b9c6f8f5f91b7da7c11c7a560bf5f4e77;hp=e07ec11607bc1faeb5daadd219db4fae7dbe1dc8;hpb=e221ca6d270d327c96767e620385ba0feb184e25;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverFlags.hs b/ghc/compiler/main/DriverFlags.hs index e07ec11..4bd5129 100644 --- a/ghc/compiler/main/DriverFlags.hs +++ b/ghc/compiler/main/DriverFlags.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverFlags.hs,v 1.23 2000/11/22 12:19:29 simonmar Exp $ +-- $Id: DriverFlags.hs,v 1.29 2000/12/08 10:26:41 simonmar Exp $ -- -- Driver flags -- @@ -18,7 +18,8 @@ import TmpFiles ( v_TmpDir ) import CmdLineOpts import Config import Util - +import TmpFiles ( newTempName ) +import Directory ( removeFile ) import Exception import IOExts import IO @@ -193,6 +194,7 @@ static_flags = ------- Miscellaneous ----------------------------------------------- , ( "no-link-chk" , NoArg (return ()) ) -- ignored for backwards compat + , ( "no-hs-main" , NoArg (writeIORef v_NoHsMain True) ) ------- Output Redirection ------------------------------------------ , ( "odir" , HasArg (writeIORef v_Output_dir . Just) ) @@ -257,6 +259,7 @@ static_flags = ----- Linker -------------------------------------------------------- , ( "static" , NoArg (writeIORef v_Static True) ) + , ( "rdynamic" , NoArg (return ()) ) -- ignored for compat w/ gcc ----- RTS opts ------------------------------------------------------ #ifdef not_yet @@ -378,6 +381,7 @@ dynamic_flags = [ , ( "ddump-simpl", NoArg (setDynFlag Opt_D_dump_simpl) ) , ( "ddump-simpl-iterations", NoArg (setDynFlag Opt_D_dump_simpl_iterations) ) , ( "ddump-spec", NoArg (setDynFlag Opt_D_dump_spec) ) + , ( "ddump-sat", NoArg (setDynFlag Opt_D_dump_sat) ) , ( "ddump-stg", NoArg (setDynFlag Opt_D_dump_stg) ) , ( "ddump-stranal", NoArg (setDynFlag Opt_D_dump_stranal) ) , ( "ddump-tc", NoArg (setDynFlag Opt_D_dump_tc) ) @@ -435,6 +439,13 @@ dynamic_flags = [ , ( "fglasgow-exts", NoArg (setDynFlag Opt_GlasgowExts) ) , ( "fno-implicit-prelude", NoArg (setDynFlag Opt_NoImplicitPrelude) ) + -- Optimisation flags are treated specially, so the normal + -- -fno-* pattern below doesn't work. We therefore allow + -- certain optimisation passes to be turned off explicitly: + , ( "fno-strictness" , NoArg (writeIORef v_Strictness False) ) + , ( "fno-cpr" , NoArg (writeIORef v_CPR False) ) + , ( "fno-cse" , NoArg (writeIORef v_CSE False) ) + , ( "fallow-overlapping-instances", NoArg (setDynFlag Opt_AllowOverlappingInstances) ) @@ -526,7 +537,7 @@ runSomething phase_name cmd hPutStrLn h cmd hClose h exit_code <- system ("sh - " ++ tmp) `catchAllIO` - (\e -> throwDyn (PhaseFailed phase_name (ExitFailure 1))) + (\_ -> throwDyn (PhaseFailed phase_name (ExitFailure 1))) removeFile tmp #endif