[project @ 1999-02-18 16:37:55 by sof]
[ghc-hetmet.git] / ghc / driver / ghc.lprl
index 98d4e7b..86987b7 100644 (file)
@@ -287,6 +287,7 @@ these are turned off by -Wnot.
                     '-fwarn-unused-imports');
 @MinusWallOpts           = (@MinusWOpts, 
                     '-fwarn-unused-matches',
+                    '-fwarn-type-defaults',
                     '-fwarn-name-shadowing',
                     '-fwarn-missing-signatures');
 \end{code}
@@ -378,6 +379,7 @@ $Haskell1Version = 5; # i.e., Haskell 1.4
 @HsSourceCppOpts = 
        ( "-D__HASKELL1__=$Haskell1Version"
        , "-D__GLASGOW_HASKELL__=$ProjectVersionInt"
+       , "-D__HASKELL98__"
        # not yet -- SDM
        # , "-D__CONCURRENT_HASKELL__"
        );
@@ -759,6 +761,7 @@ sub setupOptimiseFlags {
          # See remark re: cloning in defn of minusnotO
          '-fclone-binds',
 
+         '-fdo-case-elim',
          '-fmax-simplifier-iterations1',
          $Oopt_PedanticBottoms,
          ']',
@@ -1172,23 +1175,23 @@ sub setupLinkOpts {
 
   # things that are referenced by the RTS - make sure that we pull 'em in
   unshift(@Ld_flags,
-         ( '-u', "${uscore}PrelBase_IZh_static_info"
-          ,'-u', "${uscore}PrelBase_CZh_static_info"
-          ,'-u', "${uscore}PrelBase_FZh_static_info"
-          ,'-u', "${uscore}PrelBase_DZh_static_info"
-          ,'-u', "${uscore}PrelAddr_AZh_static_info"
-          ,'-u', "${uscore}PrelAddr_WZh_static_info"
-          ,'-u', "${uscore}PrelAddr_I64Zh_static_info"
-          ,'-u', "${uscore}PrelAddr_W64Zh_static_info"
+         ( '-u', "${uscore}PrelBase_Izh_static_info"
+          ,'-u', "${uscore}PrelBase_Czh_static_info"
+          ,'-u', "${uscore}PrelBase_Fzh_static_info"
+          ,'-u', "${uscore}PrelBase_Dzh_static_info"
+          ,'-u', "${uscore}PrelAddr_Azh_static_info"
+          ,'-u', "${uscore}PrelAddr_Wzh_static_info"
+          ,'-u', "${uscore}PrelAddr_I64zh_static_info"
+          ,'-u', "${uscore}PrelAddr_W64zh_static_info"
           ,'-u', "${uscore}PrelStable_StablePtr_static_info"
-         ,'-u', "${uscore}PrelBase_IZh_con_info"
-          ,'-u', "${uscore}PrelBase_CZh_con_info"
-          ,'-u', "${uscore}PrelBase_FZh_con_info"
-          ,'-u', "${uscore}PrelBase_DZh_con_info"
-          ,'-u', "${uscore}PrelAddr_AZh_con_info"
-          ,'-u', "${uscore}PrelAddr_WZh_con_info"
-          ,'-u', "${uscore}PrelAddr_I64Zh_con_info"
-          ,'-u', "${uscore}PrelAddr_W64Zh_con_info"
+         ,'-u', "${uscore}PrelBase_Izh_con_info"
+          ,'-u', "${uscore}PrelBase_Czh_con_info"
+          ,'-u', "${uscore}PrelBase_Fzh_con_info"
+          ,'-u', "${uscore}PrelBase_Dzh_con_info"
+          ,'-u', "${uscore}PrelAddr_Azh_con_info"
+          ,'-u', "${uscore}PrelAddr_Wzh_con_info"
+          ,'-u', "${uscore}PrelAddr_I64zh_con_info"
+          ,'-u', "${uscore}PrelAddr_W64zh_con_info"
           ,'-u', "${uscore}PrelStable_StablePtr_con_info"
           ,'-u', "${uscore}PrelBase_False_static_closure"
           ,'-u', "${uscore}PrelBase_True_static_closure"
@@ -2077,6 +2080,8 @@ sub runGcc {
     local($c_flags) = "@CcBoth_flags";
     local($ddebug_flag) = ( $DEBUGging ) ? '-DDEBUG' : '';
 
+    $c_flags .= "-mno-cygwin" if ( $TargetPlatform =~ /-mingw32$/ );
+
     # "input" files to use that are not in some weird directory;
     # to help C compilers grok .hc files [ToDo: de-hackify]
     local($cc_help)   = "ghc$$.c";
@@ -2301,6 +2306,10 @@ sub process_ghc_timings {
 
         $GCs = $1 if /^\s*([0-9,]+) (collections? in generation 0|garbage collections? performed)/;
 
+       if ( /^\s+([0-9]+)\s+Mb total memory/ ) {
+           $TotMem = $1;
+        }
+
        # The presence of -? in the following pattern is only there to
        # accommodate 0.29 && <= 2.05 RTS'
        if ( /^\s*INIT\s+time\s*(\d+\.\d\d)s\s*\(\s*-?(\d+\.\d\d)s elapsed\)/ ) {
@@ -2346,7 +2355,7 @@ sub process_ghc_timings {
 
     # print out what we found
     print STDERR "<<$SysSpecificTiming: ",
-       "$BytesAlloc bytes, $GCs GCs, $AvgResidency/$MaxResidency avg/max bytes residency ($ResidencySamples samples), $InitTime INIT ($InitElapsed elapsed), $MutTime MUT ($MutElapsed elapsed), $GcTime GC ($GcElapsed elapsed)",
+       "$BytesAlloc bytes, $GCs GCs, $AvgResidency/$MaxResidency avg/max bytes residency ($ResidencySamples samples), ${TotMem}M in use, $InitTime INIT ($InitElapsed elapsed), $MutTime MUT ($MutElapsed elapsed), $GcTime GC ($GcElapsed elapsed)",
        " :$SysSpecificTiming>>\n";
 
     # OK, party over
@@ -3256,7 +3265,7 @@ arg: while($_ = $Args[0]) {
 
     #---------- Linker (gcc, really) ---------------------------------------
 
-    /^-static$/                && do { push(@Ld_flags, $_); next arg; };
+    /^-static$/                && do { push(@HsC_flags, $_); push(@Ld_flags, $_); next arg; };
     /^-no-hs-main$/    && do { $NoHaskellMain=1; next arg;    };
 
     #---------- mixed cc and linker magic ----------------------------------