Made sure that timer variables are always considered read-only when passed around
This fixes a usage checking problem in cgtest08 where the variable would be considered written-to in parallel because it was passed twice in parallel (and not marked as a VAL abbrev)
This commit is contained in:
parent
6f22d8a573
commit
d9cfa9135d
|
@ -161,9 +161,10 @@ getVarProcCall (A.ProcCall _ proc as)
|
|||
|
||||
getVarActual :: (Die m, CSMR m) => A.Formal -> A.Actual -> m Vars
|
||||
getVarActual _ (A.ActualExpression e) = return $ getVarExp e
|
||||
getVarActual (A.Formal am _ _) (A.ActualVariable v)
|
||||
= case am of
|
||||
A.ValAbbrev -> return $ processVarR v
|
||||
getVarActual (A.Formal am t _) (A.ActualVariable v)
|
||||
= case (am, t) of
|
||||
(A.ValAbbrev,_) -> return $ processVarR v
|
||||
(_,A.Timer {}) -> return $ processVarR v
|
||||
_ -> return $ processVarW v Nothing
|
||||
|
||||
{-
|
||||
|
|
Loading…
Reference in New Issue
Block a user