[project @ 2001-03-12 14:06:46 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / DriverState.hs
index 42b0be1..7d2edab 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverState.hs,v 1.28 2001/02/20 15:44:26 simonpj Exp $
+-- $Id: DriverState.hs,v 1.33 2001/03/12 14:06:47 simonpj Exp $
 --
 -- Settings for the driver
 --
@@ -154,6 +154,7 @@ hsc_minusNoO_flags =
 -- these are the static flags you get when -O is on.
 hsc_minusO_flags =
   [ 
+       "-fignore-asserts",
        "-ffoldr-build-on",
         "-fdo-eta-reduction",
        "-fdo-lambda-eta-expansion",
@@ -279,6 +280,10 @@ buildCoreToDo = do
           CoreLiberateCase
        else
           CoreDoNothing,
+       if opt_level >= 2 then
+          CoreDoSpecConstr
+       else
+          CoreDoNothing,
 
        -- Final clean-up simplification:
        CoreDoSimplify (isAmongSimpl [
@@ -382,19 +387,19 @@ getPackageExtraLdOpts = do
   ps <- getPackageInfo
   return (concatMap extra_ld_opts ps)
 
-getPackageInfo :: IO [Package]
+getPackageInfo :: IO [PackageConfig]
 getPackageInfo = do
   ps <- readIORef v_Packages
   getPackageDetails ps
 
-getPackageDetails :: [String] -> IO [Package]
+getPackageDetails :: [String] -> IO [PackageConfig]
 getPackageDetails ps = do
   pkg_details <- readIORef v_Package_details
   return [ pkg | p <- ps, Just pkg <- [ lookupPkg p pkg_details ] ]
 
-GLOBAL_VAR(v_Package_details, (error "package_details"), [Package])
+GLOBAL_VAR(v_Package_details, (error "package_details"), [PackageConfig])
 
-lookupPkg :: String -> [Package] -> Maybe Package
+lookupPkg :: String -> [PackageConfig] -> Maybe PackageConfig
 lookupPkg nm ps
    = case [p | p <- ps, name p == nm] of
         []    -> Nothing