Fixed a discrepancy between the C and C++ backends over generating the code for replicators
This commit is contained in:
parent
4c726352a4
commit
cfbdfc555e
|
@ -24,6 +24,7 @@ module GenerateC
|
||||||
, cgenType
|
, cgenType
|
||||||
, cintroduceSpec
|
, cintroduceSpec
|
||||||
, cPreReq
|
, cPreReq
|
||||||
|
, cremoveSpec
|
||||||
, genComma
|
, genComma
|
||||||
, genCPasses
|
, genCPasses
|
||||||
, generate
|
, generate
|
||||||
|
|
|
@ -39,7 +39,7 @@ import System.IO
|
||||||
|
|
||||||
import qualified AST as A
|
import qualified AST as A
|
||||||
import CompState
|
import CompState
|
||||||
import GenerateC (cgenOps, cgenReplicatorLoop, cgenType, cintroduceSpec,
|
import GenerateC (cgenOps, cgenReplicatorLoop, cgenType, cintroduceSpec, cremoveSpec,
|
||||||
generate, genComma, genLeftB, genMeta, genName, genRightB, seqComma, withIf)
|
generate, genComma, genLeftB, genMeta, genName, genRightB, seqComma, withIf)
|
||||||
import GenerateCBased
|
import GenerateCBased
|
||||||
import Metadata
|
import Metadata
|
||||||
|
@ -522,7 +522,8 @@ cppremoveSpec (A.Specification m n (A.Declaration _ t))
|
||||||
Nothing -> return ()
|
Nothing -> return ()
|
||||||
where
|
where
|
||||||
var = A.Variable m n
|
var = A.Variable m n
|
||||||
cppremoveSpec _ = return ()
|
-- Otherwise, defer to the C implementation:
|
||||||
|
cppremoveSpec sp = cremoveSpec sp
|
||||||
|
|
||||||
--Changed from GenerateC to add a name function (to allow us to use the same function for doing function parameters as constructor parameters)
|
--Changed from GenerateC to add a name function (to allow us to use the same function for doing function parameters as constructor parameters)
|
||||||
--and also changed to use infixComma.
|
--and also changed to use infixComma.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user