aboutsummaryrefslogtreecommitdiff
path: root/src/check_decl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_decl.cpp')
-rw-r--r--src/check_decl.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index f05c7cd24..c8070598b 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -1197,6 +1197,15 @@ void check_proc_body(CheckerContext *ctx_, Token token, DeclInfo *decl, Type *ty
ctx->curr_proc_sig = type;
ctx->curr_proc_calling_convention = type->Proc.calling_convention;
+ switch (type->Proc.calling_convention) {
+ case ProcCC_None:
+ error(body, "Procedures with the calling convention \"none\" are not allowed a body");
+ break;
+ case ProcCC_PureNone:
+ error(body, "Procedures with the calling convention \"pure_none\" are not allowed a body");
+ break;
+ }
+
ast_node(bs, BlockStmt, body);
Array<ProcUsingVar> using_entities = {};