Implement the RESCHEDULE intrinsic.

This commit is contained in:
Adam Sampson 2008-03-15 11:00:11 +00:00
parent 4a68dda2b5
commit 54668d3ba2
3 changed files with 5 additions and 0 deletions

View File

@ -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 ()

View File

@ -30,5 +30,6 @@ intrinsicFunctions =
intrinsicProcs :: [(String, [(A.AbbrevMode, A.Type, String)])]
intrinsicProcs =
[ ("ASSERT", [(A.ValAbbrev, A.Bool, "value")])
, ("RESCHEDULE", [])
]

3
testcases/reschedule.occ Normal file
View File

@ -0,0 +1,3 @@
PROC main ()
RESCHEDULE ()
: