From 4ecc8077cec8a6f0cbc217f61c113002a150c9ee Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Fri, 17 Apr 2009 19:27:41 +0000 Subject: [PATCH] Realised that my optimisation for the usage checking had the condition the wrong way round This explains why all the usage tests began to fail... --- checks/ArrayUsageCheck.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/checks/ArrayUsageCheck.hs b/checks/ArrayUsageCheck.hs index f43527f..b905141 100644 --- a/checks/ArrayUsageCheck.hs +++ b/checks/ArrayUsageCheck.hs @@ -100,10 +100,11 @@ findRepSolutions reps bks -- for any overlapping array indices. checkArrayUsage :: forall m. (Die m, CSMR m, MonadIO m) => NameAttr -> (Meta, ParItems (BK, UsageLabel)) -> m () checkArrayUsage sharedAttr (m,p) - = do debug $ "checkArrayUsage: " ++ show m - indexes <- groupArrayIndexes $ fmap (transformPair id nodeVars) p - mapM_ (checkIndexes m) $ Map.toList $ Map.filter - ((<= 1) . length . map (\(_,w,r) -> w++r) . F.toList) indexes + = do indexes <- groupArrayIndexes $ fmap (transformPair id nodeVars) p + let filteredIndexes = Map.toList $ Map.filter + ((>= 1) . length . map (\(_,w,r) -> w++r) . F.toList) indexes + debug $ "checkArrayUsage: " ++ show m ++ ", " ++ show (length filteredIndexes) + mapM_ (checkIndexes m) filteredIndexes where getDecl :: UsageLabel -> Maybe String getDecl = join . fmap getScopeIn . nodeDecl