Changed the code handling SizeVariable to output the size as an integer if it is known

This commit is contained in:
Neil Brown 2008-03-09 16:18:13 +00:00
parent 35b1ffdc51
commit 3d1945b517

View File

@ -803,7 +803,10 @@ cgenExpression (A.SizeExpr m e)
= do call genExpression e = do call genExpression e
call genSizeSuffix "0" call genSizeSuffix "0"
cgenExpression (A.SizeVariable m v) cgenExpression (A.SizeVariable m v)
= do call genVariable v = do A.Array (d:_) _ <- typeOfVariable v
case d of
A.Dimension n -> tell [show n]
A.UnknownDimension -> do call genVariable v
call genSizeSuffix "0" call genSizeSuffix "0"
cgenExpression (A.Conversion m cm t e) = call genConversion m cm t e cgenExpression (A.Conversion m cm t e) = call genConversion m cm t e
cgenExpression (A.ExprVariable m v) = call genVariable v cgenExpression (A.ExprVariable m v) = call genVariable v