From d681cd5d95fa1aa2e4178f0cb153b4faebf53e28 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Wed, 22 Aug 2007 11:12:57 +0000 Subject: [PATCH] Rain: corrected the pass transforming the each loops so that it records the nonce names properly in the state --- RainPasses.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RainPasses.hs b/RainPasses.hs index b11b204..21c2624 100644 --- a/RainPasses.hs +++ b/RainPasses.hs @@ -98,12 +98,13 @@ transformEach = everywhereM (mkM transformEach') --spec is a function A.Structured -> A.Structured, var is an A.Variable loopVarType <- typeOfName loopVar - loopIndex <- makeNonce "loopIndex" - let newRep = A.For m' (simpleName loopIndex) (intLiteral 0) (A.SizeVariable m' var) + A.Specification _ loopIndexName _ <- makeNonceVariable "loopIndex" m' A.Int64 A.VariableName A.Original + + let newRep = A.For m' loopIndexName (intLiteral 0) (A.SizeVariable m' var) let s' = A.Spec m' (A.Specification m' loopVar (A.Is m' A.Abbrev loopVarType - (A.SubscriptedVariable m' (A.Subscript m' (A.ExprVariable m' (variable loopIndex))) var) + (A.SubscriptedVariable m' (A.Subscript m' (A.ExprVariable m' (A.Variable m' loopIndexName))) var) ) ) s