From b9cbcf09027eac2be6ea4ac1d3af2061a7d39ae4 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Fri, 3 Apr 2009 15:14:24 +0000 Subject: [PATCH] Added the intrinsic CAUSEERROR --- backends/GenerateC.hs | 1 + common/Intrinsics.hs | 1 + 2 files changed, 2 insertions(+) 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