@@ -935,4 +935,14 @@ idrCall name args =
935 , arguments = map (\x -> (x, [])) args
935 , arguments = map (\x -> (x, [])) args
936 , functionAttributes = []
936 , functionAttributes = []
937 , metadata = []
937 , metadata = []
940+assert :: Operand -> String -> Codegen ()
941+assert condition message = do
942+ passed <- getName "assertPassed"
943+ failed <- getName "assertFailed"
944+ terminate $ CondBr condition passed failed []
946+ cgExpr (SError message)
947+ terminate $ Unreachable []