Fix Odin bug with "none" procedure calling conventions in the runtime

This commit is contained in:
gingerBill
2020-09-10 16:36:33 +01:00
parent 8f38b06c60
commit 6aa708a455
2 changed files with 15 additions and 13 deletions

View File

@@ -1197,13 +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;
if (ctx->pkg->name != "runtime") {
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);