Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / compiler / main / StaticFlags.hs
index 3e9737f..b708ad0 100644 (file)
@@ -29,7 +29,6 @@ module StaticFlags (
 
        -- language opts
        opt_DictsStrict,
-        opt_MaxContextReductionDepth,
        opt_IrrefutableTuples,
        opt_Parallel,
        opt_RuntimeTypes,
@@ -78,7 +77,6 @@ import FastString     ( FastString, mkFastString )
 import Util
 import Maybes          ( firstJust )
 import Panic           ( GhcException(..), ghcError )
-import Constants       ( mAX_CONTEXT_REDUCTION_DEPTH )
 
 import EXCEPTION       ( throwDyn )
 import DATA_IOREF
@@ -253,7 +251,6 @@ opt_DoTickyProfiling                = lookUp  FSLIT("-fticky-ticky")
 -- language opts
 opt_DictsStrict                        = lookUp  FSLIT("-fdicts-strict")
 opt_IrrefutableTuples          = lookUp  FSLIT("-firrefutable-tuples")
-opt_MaxContextReductionDepth   = lookup_def_int "-fcontext-stack" mAX_CONTEXT_REDUCTION_DEPTH
 opt_Parallel                   = lookUp  FSLIT("-fparallel")
 opt_Flatten                    = lookUp  FSLIT("-fflatten")
 
@@ -317,7 +314,6 @@ isStaticFlag f =
        "fsemi-tagging",
        "flet-no-escape",
        "femit-extern-decls",
-       "fglobalise-toplev-names",
        "fgransim",
        "fno-hi-version-check",
        "dno-black-holing",
@@ -337,7 +333,6 @@ isStaticFlag f =
        "fPIC"
        ]
   || any (flip prefixMatch f) [
-       "fcontext-stack",
        "fliberate-case-threshold",
        "fmax-worker-args",
        "fhistory-size",
@@ -449,7 +444,6 @@ allowed_combination way = and [ x `allowedWith` y
        _ `allowedWith` WayDebug                = True
        WayDebug `allowedWith` _                = True
 
-       WayThreaded `allowedWith` WayProf       = True
        WayProf `allowedWith` WayUnreg          = True
        WayProf `allowedWith` WayNDP            = True
        _ `allowedWith` _                       = False
@@ -492,8 +486,13 @@ way_details :: [ (WayName, Way) ]
 way_details =
   [ (WayThreaded, Way "thr" True "Threaded" [
 #if defined(freebsd_TARGET_OS)
-         "-optc-pthread"
-        , "-optl-pthread"
+--       "-optc-pthread"
+--      , "-optl-pthread"
+       -- FreeBSD's default threading library is the KSE-based M:N libpthread,
+       -- which GHC has some problems with.  It's currently not clear whether
+       -- the problems are our fault or theirs, but it seems that using the
+       -- alternative 1:1 threading library libthr works around it:
+         "-optl-lthr"
 #elif defined(solaris2_TARGET_OS)
           "-optl-lrt"
 #endif