Remove "pure" and "pure_none" calling conventions

This commit is contained in:
gingerBill
2021-02-23 13:10:23 +00:00
parent a652c24ac3
commit 28ed310f31
15 changed files with 18 additions and 111 deletions
-11
View File
@@ -1403,11 +1403,6 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
case_end;
case_ast_node(as, AssignStmt, node);
if (ctx->curr_proc_calling_convention == ProcCC_Pure) {
error(node, "Assignment statements are not allowed within a \"pure\" procedure");
// Continue
}
switch (as->op.kind) {
case Token_Eq: {
// a, b, c = 1, 2, 3; // Multisided
@@ -2142,12 +2137,6 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
check_init_variables(ctx, entities, entity_count, vd->values, str_lit("variable declaration"));
check_arity_match(ctx, vd, false);
if (ctx->curr_proc_calling_convention == ProcCC_Pure) {
if (vd->values.count == 0) {
error(node, "Variable declarations without assignment are not allowed within \"pure\" procedures");
}
}
for (isize i = 0; i < entity_count; i++) {
Entity *e = entities[i];