diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 22e21b3..c6e98ec 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -107,6 +107,7 @@ data GenOps = GenOps { genForwardDeclaration :: GenOps -> A.Specification -> CGen(), genFuncDyadic :: GenOps -> Meta -> String -> A.Expression -> A.Expression -> CGen (), genFuncMonadic :: GenOps -> Meta -> String -> A.Expression -> CGen (), + -- | Gets the current time into the given variable genGetTime :: GenOps -> Meta -> A.Variable -> CGen (), genIf :: GenOps -> Meta -> A.Structured -> CGen (), genInput :: GenOps -> A.Variable -> A.InputMode -> CGen (), @@ -1568,7 +1569,7 @@ cgenGetTime :: GenOps -> Meta -> A.Variable -> CGen () cgenGetTime ops m v = do tell ["ProcTime(&"] call genVariable ops v - tell [");\n"] + tell [");"] cgenWait :: GenOps -> A.WaitMode -> A.Expression -> CGen () cgenWait ops A.WaitUntil e = call genTimerWait ops e diff --git a/backends/GenerateCPPCSP.hs b/backends/GenerateCPPCSP.hs index 86e9343..8ce4206 100644 --- a/backends/GenerateCPPCSP.hs +++ b/backends/GenerateCPPCSP.hs @@ -344,7 +344,7 @@ cppgenTimerRead ops c v cppgenGetTime :: GenOps -> Meta -> A.Variable -> CGen () cppgenGetTime ops m v - = do tell ["csp::CurrentTime (&"] + = do tell ["csp::CurrentTime(&"] call genVariable ops v tell [");"] diff --git a/backends/GenerateCTest.hs b/backends/GenerateCTest.hs index 9ec23b3..d9a3cbc 100644 --- a/backends/GenerateCTest.hs +++ b/backends/GenerateCTest.hs @@ -548,6 +548,11 @@ testCase = TestList spec = A.Spec emptyMeta undefined over ops = ops {genExpression = override1 dollar, genProcess = override1 at, genStop = override2 caret, genSpec = override2 hash} +testGetTime :: Test +testGetTime = testBoth "testGetTime 0" "ProcTime(&@);" "csp::CurrentTime(&@);" ((tcall2 genGetTime emptyMeta undefined) . over) + where + over ops = ops {genVariable = override1 at} + ---Returns the list of tests: tests :: Test tests = TestList @@ -561,6 +566,7 @@ tests = TestList ,testDeclareInitFree ,testGenType ,testGenVariable + ,testGetTime ,testOverArray ,testReplicator ,testStop