[project @ 1999-04-27 10:59:29 by sewardj]
[ghc-hetmet.git] / ghc / driver / ghc.lprl
index f48a311..e72ae94 100644 (file)
@@ -380,8 +380,7 @@ $Haskell1Version = 5; # i.e., Haskell 1.4
        ( "-D__HASKELL1__=$Haskell1Version"
        , "-D__GLASGOW_HASKELL__=$ProjectVersionInt"
        , "-D__HASKELL98__"
-       # not yet -- SDM
-       # , "-D__CONCURRENT_HASKELL__"
+       , "-D__CONCURRENT_HASKELL__"
        );
 
 @UserLibrary_dir= ();  #-L things;...
@@ -485,6 +484,7 @@ $PROFing = '';              # set to p or e if profiling
 $PROFgroup = '';       # set to group if an explicit -Ggroup specified
 $PROFauto = '';                # set to relevant hsc flag if -auto or -auto-all
 $PROFcaf  = '';                # set to relevant hsc flag if -caf-all
+$PROFdict = '';                # set to relevant hsc flag if -auto-dicts
 $PROFignore_scc = '';  # set to relevant parser flag if explicit sccs ignored
 $UNPROFscc_auto = '';  # set to relevant hsc flag if forcing auto sccs without profiling
 $TICKYing = '';        # set to t if compiling for ticky-ticky profiling
@@ -873,6 +873,7 @@ sub setupOptimiseFlags {
          ']',
 
        '-fstrictness',
+       '-fworker-wrapper',
 
        '-fsimplify',
          '[', 
@@ -1001,7 +1002,7 @@ sub setupBuildFlags {
    } else {
       push(@HsC_flags, $PROFauto) if $PROFauto;
       push(@HsC_flags, $PROFcaf)  if $PROFcaf;
-      #push(@HsC_flags, $PROFdict) if $PROFdict;
+      push(@HsC_flags, $PROFdict) if $PROFdict;
 
       $Oopt_FinalStgProfilingMassage = '-fmassage-stg-for-profiling';
 
@@ -2939,13 +2940,14 @@ arg: while($_ = $Args[0]) {
 
     /^-prof$/ && do { $PROFing = 'p'; next arg; }; # profiling -- details later!
 
-    /^-auto/ && do {
-               # generate auto SCCs on top level bindings
-               # -auto-all = all top level bindings
-               # -auto     = only top level exported bindings
-               $PROFauto = ( /-all/ )
-                           ? '-fauto-sccs-on-all-toplevs'
-                           : '-fauto-sccs-on-exported-toplevs';
+    /^-auto-dicts$/ && do {
+               $PROFdicts = '-fauto-sccs-on-dicts';
+               next arg; };
+    /^-auto-all$/ && do {
+               $PROFauto = '-fauto-sccs-on-all-toplevs';
+               next arg; };
+    /^-auto$/ && do {
+               $PROFauto = '-fauto-sccs-on-exported-toplevs';
                next arg; };
 
     /^-caf-all/ && do { # generate individual CAF SCC annotations
@@ -3054,6 +3056,7 @@ arg: while($_ = $Args[0]) {
     /^-keep-s-files?-too$/     && do { $Keep_s_file_too = 1;  next arg; };
 
     /^-fignore-interface-pragmas$/ && do { push(@HsC_flags, $_); next arg; };
+    /^-fignore-asserts$/           && do { push(@HsC_flags, $_); next arg; };
 
     /^-fno-implicit-prelude$/      && do { $NoImplicitPrelude= 1; push(@HsC_flags, $_); next arg; };
 
@@ -3165,6 +3168,9 @@ arg: while($_ = $Args[0]) {
     /^-fno-let-from-(case|app|strict-let)$/ # experimental, really (WDP 95/10)
                    && do { push(@HsC_flags, $_); next arg; };
 
+    /^-funbox-strict-fields$/
+                  && do { push(@HsC_flags, $_); next arg; };
+
     # --------------- Warnings etc. ------
 
     /^-fwarn-(.*)$/      && do { push(@HsC_flags, $_); next arg; };