diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index f45789d..bd3c59f 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -1709,6 +1709,7 @@ cgenProcCall n as --{{{ intrinsic procs cgenIntrinsicProc :: Meta -> String -> [A.Actual] -> CGen () cgenIntrinsicProc m "ASSERT" [A.ActualExpression A.Bool e] = call genAssert m e +cgenIntrinsicProc _ "RESCHEDULE" [] = tell ["Reschedule (wptr);\n"] cgenIntrinsicProc _ s _ = call genMissing $ "intrinsic PROC " ++ s cgenAssert :: Meta -> A.Expression -> CGen () diff --git a/common/Intrinsics.hs b/common/Intrinsics.hs index 0647560..c97a5f0 100644 --- a/common/Intrinsics.hs +++ b/common/Intrinsics.hs @@ -30,5 +30,6 @@ intrinsicFunctions = intrinsicProcs :: [(String, [(A.AbbrevMode, A.Type, String)])] intrinsicProcs = [ ("ASSERT", [(A.ValAbbrev, A.Bool, "value")]) + , ("RESCHEDULE", []) ] diff --git a/testcases/reschedule.occ b/testcases/reschedule.occ new file mode 100644 index 0000000..76b43ed --- /dev/null +++ b/testcases/reschedule.occ @@ -0,0 +1,3 @@ +PROC main () + RESCHEDULE () +: