summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-06-08 15:40:47 +0000
committerkrasimir <krasimir@chalmers.se>2010-06-08 15:40:47 +0000
commit002965336a2a967c612c67f8eb5ad8eebb32367c (patch)
tree7de8f9a7d74a7dc62e5b0b5111d0c57c89341c9b
parente8428b3d6725456060072d9fc81591f45925e7d1 (diff)
bugfix for flag -no-recomp
-rw-r--r--src/compiler/GF/Compile/ReadFiles.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/GF/Compile/ReadFiles.hs b/src/compiler/GF/Compile/ReadFiles.hs
index b96d3127b..acab012cf 100644
--- a/src/compiler/GF/Compile/ReadFiles.hs
+++ b/src/compiler/GF/Compile/ReadFiles.hs
@@ -60,7 +60,7 @@ getAllFiles opts ps env file = do
-- construct list of paths to read
paths ds = concatMap mkFile ds
where
- mkFile (f,st,gfTime,gfoTime,p) =
+ mkFile (f,st,gfTime,imps,p) =
case st of
CSComp -> [p </> gfFile f]
CSRead | isJust gfTime -> [gf2gfo opts (p </> gfFile f)]
@@ -80,7 +80,8 @@ getAllFiles opts ps env file = do
| otherwise = do
(name,st0,t0,imps,p) <- findModule name
ds <- foldM (get (name:trc)) ds imps
- let (st,t) | (not . null) [f | (f,_,t1,_,_) <- ds, elem f imps && liftM2 (>=) t0 t1 /= Just True]
+ let (st,t) | (not . null) [f | (f,_,t1,_,_) <- ds, elem f imps && liftM2 (>=) t0 t1 /= Just True] &&
+ flag optRecomp opts == RecompIfNewer
= (CSComp,Nothing)
| otherwise = (st0,t0)
return ((name,st,t,imps,p):ds)