diff --git a/distrib/compare/Utils.hs b/distrib/compare/Utils.hs index 720f533aaaced9d062f43b064e66d4559fed9ac7..bc4fd204fd3a78b01d9ad84ca2b47508cccfb6ec 100644 --- a/distrib/compare/Utils.hs +++ b/distrib/compare/Utils.hs @@ -11,11 +11,15 @@ die :: Errors -> IO a die errs = do mapM_ (hPutStrLn stderr) errs exitFailure +warn :: Errors -> IO () +warn warnings = mapM_ (hPutStrLn stderr) warnings + dieOnErrors :: Either Errors a -> IO a dieOnErrors (Left errs) = die errs dieOnErrors (Right x) = return x type Errors = [String] +type Warnings = [String] maybeRead :: Read a => String -> Maybe a maybeRead str = case reads str of diff --git a/distrib/compare/compare.hs b/distrib/compare/compare.hs index 23b983f0ac77efdb73b5495add6737d3784bb0ec..81055c2826d95d7c33deef5060341b234e5348d5 100644 --- a/distrib/compare/compare.hs +++ b/distrib/compare/compare.hs @@ -52,7 +52,8 @@ doDirectory ignoreSizeChanges p1 p2 mkFileInfo fp@('g':'h':'c':'-':x:xs) | isDigit x = return [(("ghc-", "VERSION", dropWhile isVersionChar xs), fp)] | otherwise = die ["No version number in " ++ show fp] - mkFileInfo fp = die ["Unrecognised filename " ++ show fp] + mkFileInfo fp = do warn ["Unrecognised filename " ++ show fp] + return [] fss1' <- mapM mkFileInfo fs1 fss2' <- mapM mkFileInfo fs2 let fs1' = sort $ concat fss1'