Removed the function genArraySizesSize from GenOps, since it was only called in one place
This commit is contained in:
parent
c3fad80f06
commit
0517465eff
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user