Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/58803d7288a1a49f79406bdb8b8d748c9fd32ea1

>---------------------------------------------------------------

commit 58803d7288a1a49f79406bdb8b8d748c9fd32ea1
Author: Simon Marlow <[email protected]>
Date:   Fri Nov 11 10:49:40 2011 +0000

    Normalise FilePaths before hashing (fixes base01)

>---------------------------------------------------------------

 compiler/iface/FlagChecker.hs |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/compiler/iface/FlagChecker.hs b/compiler/iface/FlagChecker.hs
index ddc99cf..f670437 100644
--- a/compiler/iface/FlagChecker.hs
+++ b/compiler/iface/FlagChecker.hs
@@ -12,8 +12,10 @@ import DynFlags
 import HscTypes
 import Name
 import Fingerprint
+-- import Outputable
 
 import Data.List (sort)
+import System.FilePath (normalise)
 
 -- | Produce a fingerprint of a @DynFlags@ value. We only base
 -- the finger print on important fields in @DynFlags@ so that
@@ -32,12 +34,14 @@ fingerprintDynFlags DynFlags{..} nameio =
                 sort $ map fromEnum $ extensionFlags)
 
         -- -I, -D and -U flags affect CPP
-        cpp = (includePaths, sOpt_P settings)
+        cpp = (map normalise includePaths, sOpt_P settings)
+            -- normalise: eliminate spurious differences due to "./foo" vs 
"foo"
 
         -- -i, -osuf, -hcsuf, -hisuf, -odir, -hidir, -stubdir, -o, -ohi
-        paths = (importPaths,
+        paths = (map normalise importPaths,
                    [ objectSuf, hcSuf, hiSuf ],
                    [ objectDir, hiDir, stubDir, outputFile, outputHi ])
 
-    in computeFingerprint nameio (mainis, safeHs, lang, cpp, paths)
+    in -- pprTrace "flags" (ppr (mainis, safeHs, lang, cpp, paths)) $
+       computeFingerprint nameio (mainis, safeHs, lang, cpp, paths)
 



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to