Removed the function genArraySizesSize from GenOps, since it was only called in one place

This commit is contained in:
Neil Brown 2007-10-06 12:52:59 +00:00
parent c3fad80f06
commit 0517465eff
2 changed files with 1 additions and 14 deletions

View File

@ -79,8 +79,6 @@ data GenOps = GenOps {
genArraySize :: GenOps -> Bool -> CGen () -> A.Name -> CGen (), genArraySize :: GenOps -> Bool -> CGen () -> A.Name -> CGen (),
-- | Writes out the dimensions of an array, that can be used to initialise the sizes of an array. Fails if there is an 'A.UnknownDimension' present. -- | Writes out the dimensions of an array, that can be used to initialise the sizes of an array. Fails if there is an 'A.UnknownDimension' present.
genArraySizesLiteral :: GenOps -> A.Name -> A.Type -> CGen (), genArraySizesLiteral :: GenOps -> A.Name -> A.Type -> CGen (),
-- | Writes out the size of the _sizes array, in square brackets.
genArraySizesSize :: GenOps -> [A.Dimension] -> CGen (),
-- | Writes out the actual data storage array name. -- | Writes out the actual data storage array name.
genArrayStoreName :: GenOps -> A.Name -> CGen(), genArrayStoreName :: GenOps -> A.Name -> CGen(),
-- | Generates an array subscript for the given variable (with error checking if the Bool is True), using the given expression list as subscripts -- | Generates an array subscript for the given variable (with error checking if the Bool is True), using the given expression list as subscripts
@ -185,7 +183,6 @@ cgenOps = GenOps {
genArrayLiteralElems = cgenArrayLiteralElems, genArrayLiteralElems = cgenArrayLiteralElems,
genArraySize = cgenArraySize, genArraySize = cgenArraySize,
genArraySizesLiteral = cgenArraySizesLiteral, genArraySizesLiteral = cgenArraySizesLiteral,
genArraySizesSize = cgenArraySizesSize,
genArrayStoreName = const genName, genArrayStoreName = const genName,
genArraySubscript = cgenArraySubscript, genArraySubscript = cgenArraySubscript,
genAssert = cgenAssert, genAssert = cgenAssert,
@ -1198,9 +1195,7 @@ cgenDeclaration ops (A.Array ds t) n True
tell [";"] tell [";"]
tell ["int "] tell ["int "]
genName n genName n
tell ["_sizes"] tell ["_sizes[",show $ length ds,"];"]
call genArraySizesSize ops ds
tell [";"]
cgenDeclaration ops t n _ cgenDeclaration ops t n _
= do call genType ops t = do call genType ops t
tell [" "] tell [" "]
@ -1216,13 +1211,6 @@ cgenFlatArraySize ops ds
[case d of A.Dimension n -> tell [show n] | d <- ds] [case d of A.Dimension n -> tell [show n] | d <- ds]
tell ["]"] tell ["]"]
-- | Generate the size of the _sizes C array for an occam array.
cgenArraySizesSize :: GenOps -> [A.Dimension] -> CGen ()
cgenArraySizesSize ops ds
= do tell ["["]
tell [show $ length ds]
tell ["]"]
-- | Declare an _sizes array for a variable. -- | Declare an _sizes array for a variable.
cdeclareArraySizes :: GenOps -> A.Type -> A.Name -> CGen () cdeclareArraySizes :: GenOps -> A.Type -> A.Name -> CGen ()
cdeclareArraySizes ops t name cdeclareArraySizes ops t name

View File

@ -256,7 +256,6 @@ testArraySizes = TestList
testBoth "genArraySizesLiteral 0" "{3}" "tockArrayView<int,1>(foo_actual,tockDims(3))" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 3] A.Int) testBoth "genArraySizesLiteral 0" "{3}" "tockArrayView<int,1>(foo_actual,tockDims(3))" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 3] A.Int)
,testBoth "genArraySizesLiteral 1" "{3,6,8}" "tockArrayView<int,3>(foo_actual,tockDims(3,6,8))" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 3, A.Dimension 6, A.Dimension 8] A.Int) ,testBoth "genArraySizesLiteral 1" "{3,6,8}" "tockArrayView<int,3>(foo_actual,tockDims(3,6,8))" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 3, A.Dimension 6, A.Dimension 8] A.Int)
,testBothFail "genArraySizesLiteral 2" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 6, A.UnknownDimension] A.Int) ,testBothFail "genArraySizesLiteral 2" (tcall2 genArraySizesLiteral foo $ A.Array [A.Dimension 6, A.UnknownDimension] A.Int)
,testBothSame "genArraySizesSize 0" "[1]" (tcall genArraySizesSize [A.Dimension 7])
,testBothSame "genArraySize 0" "const int*foo_sizes=@;" (tcall3 genArraySize True at foo) ,testBothSame "genArraySize 0" "const int*foo_sizes=@;" (tcall3 genArraySize True at foo)
,testBothSame "genArraySize 1" "const int foo_sizes[]=@;" (tcall3 genArraySize False at foo) ,testBothSame "genArraySize 1" "const int foo_sizes[]=@;" (tcall3 genArraySize False at foo)
,testBothSame "genArrayLiteralElems 0" "$" $ (tcall genArrayLiteralElems [A.ArrayElemExpr undefined]) . unfolded ,testBothSame "genArrayLiteralElems 0" "$" $ (tcall genArrayLiteralElems [A.ArrayElemExpr undefined]) . unfolded