summaryrefslogtreecommitdiff
path: root/ghc/Main.hs
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2012-09-03 21:41:55 +0100
committerIan Lynagh <ian@well-typed.com>2012-09-03 21:41:55 +0100
commit61d41b90bde303d356540a8df44a2fffdd715aa5 (patch)
treeef51d44c8664d8dfa09fa6aff5674f891a3ced7a /ghc/Main.hs
parent3b56334d514fa915bbe40574680fcb37cd58d94e (diff)
downloadhaskell-61d41b90bde303d356540a8df44a2fffdd715aa5.tar.gz
Move ldInputs into DynFlags
Diffstat (limited to 'ghc/Main.hs')
-rw-r--r--ghc/Main.hs20
1 files changed, 10 insertions, 10 deletions
diff --git a/ghc/Main.hs b/ghc/Main.hs
index 53ca70e296..2cf50818ba 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -182,11 +182,6 @@ main' postLoadMode dflags0 args flagWarnings = do
liftIO $ showBanner postLoadMode dflags2
- -- we've finished manipulating the DynFlags, update the session
- _ <- GHC.setSessionDynFlags dflags2
- dflags3 <- GHC.getSessionDynFlags
- hsc_env <- GHC.getSession
-
let
-- To simplify the handling of filepaths, we normalise all filepaths right
-- away - e.g., for win32 platforms, backslashes are converted
@@ -194,9 +189,12 @@ main' postLoadMode dflags0 args flagWarnings = do
normal_fileish_paths = map (normalise . unLoc) fileish_args
(srcs, objs) = partition_args normal_fileish_paths [] []
- -- Note: have v_Ld_inputs maintain the order in which 'objs' occurred on
- -- the command-line.
- liftIO $ mapM_ (consIORef v_Ld_inputs) (reverse objs)
+ dflags2a = dflags2 { ldInputs = objs ++ ldInputs dflags2 }
+
+ -- we've finished manipulating the DynFlags, update the session
+ _ <- GHC.setSessionDynFlags dflags2a
+ dflags3 <- GHC.getSessionDynFlags
+ hsc_env <- GHC.getSession
---------------- Display configuration -----------
when (verbosity dflags3 >= 4) $
@@ -251,7 +249,7 @@ partition_args (arg:args) srcs objs
{-
We split out the object files (.o, .dll) and add them
- to v_Ld_inputs for use by the linker.
+ to ldInputs for use by the linker.
The following things should be considered compilation manager inputs:
@@ -639,7 +637,9 @@ doMake srcs = do
o_files <- mapM (\x -> liftIO $ compileFile hsc_env StopLn x)
non_hs_srcs
- liftIO $ mapM_ (consIORef v_Ld_inputs) (reverse o_files)
+ dflags <- GHC.getSessionDynFlags
+ let dflags' = dflags { ldInputs = o_files ++ ldInputs dflags }
+ _ <- GHC.setSessionDynFlags dflags'
targets <- mapM (uncurry GHC.guessTarget) hs_srcs
GHC.setTargets targets