diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 0f3d238..add6a20 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -2086,6 +2086,7 @@ cgenProcCall n as cgenIntrinsicProc :: Meta -> String -> [A.Actual] -> CGen () cgenIntrinsicProc m "ASSERT" [A.ActualExpression e] = call genAssert m e cgenIntrinsicProc _ "RESCHEDULE" [] = call genReschedule +cgenIntrinsicProc m "CAUSEERROR" [] = call genStop m "CAUSEERROR" cgenIntrinsicProc m s as = case lookup s intrinsicProcs of Just amtns -> do tell ["occam_", [if c == '.' then '_' else c | c <- s], "(wptr,"] when (s == "RESIZE.MOBILE.ARRAY.1D") $ diff --git a/common/Intrinsics.hs b/common/Intrinsics.hs index 483a073..71ea7a7 100644 --- a/common/Intrinsics.hs +++ b/common/Intrinsics.hs @@ -128,6 +128,7 @@ simpleFloatIntrinsics = concatMap double $ intrinsicProcs :: [(String, [(A.AbbrevMode, A.Type, String)])] intrinsicProcs = [ ("ASSERT", [(A.ValAbbrev, A.Bool, "value")]) + , ("CAUSEERROR", []) , ("RESCHEDULE", []) ] ++ concat [ (zip ["INT" ++ suffix ++ "TOSTRING", "HEX" ++ suffix ++ "TOSTRING"] $ repeat