'-fwarn-unused-imports');
@MinusWallOpts = (@MinusWOpts,
'-fwarn-unused-matches',
+ '-fwarn-type-defaults',
'-fwarn-name-shadowing',
'-fwarn-missing-signatures');
\end{code}
@HsSourceCppOpts =
( "-D__HASKELL1__=$Haskell1Version"
, "-D__GLASGOW_HASKELL__=$ProjectVersionInt"
+ , "-D__HASKELL98__"
# not yet -- SDM
# , "-D__CONCURRENT_HASKELL__"
);
# See remark re: cloning in defn of minusnotO
'-fclone-binds',
+ '-fdo-case-elim',
'-fmax-simplifier-iterations1',
$Oopt_PedanticBottoms,
']',
# 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"
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";
$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\)/ ) {
# 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
#---------- 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 ----------------------------------