Also allow #no_bounds_check on an expression #499

This commit is contained in:
gingerBill
2019-12-15 11:41:21 +00:00
parent 58d4d424c6
commit 4ba579bc25
7 changed files with 105 additions and 56 deletions

View File

@@ -332,7 +332,7 @@ void check_open_scope(CheckerContext *c, Ast *node) {
break;
}
c->scope = scope;
c->stmt_state_flags |= StmtStateFlag_bounds_check;
c->state_flags |= StateFlag_bounds_check;
}
void check_close_scope(CheckerContext *c) {
@@ -3766,11 +3766,11 @@ void check_proc_info(Checker *c, ProcInfo pi) {
bool no_bounds_check = (pi.tags & ProcTag_no_bounds_check) != 0;
if (bounds_check) {
ctx.stmt_state_flags |= StmtStateFlag_bounds_check;
ctx.stmt_state_flags &= ~StmtStateFlag_no_bounds_check;
ctx.state_flags |= StateFlag_bounds_check;
ctx.state_flags &= ~StateFlag_no_bounds_check;
} else if (no_bounds_check) {
ctx.stmt_state_flags |= StmtStateFlag_no_bounds_check;
ctx.stmt_state_flags &= ~StmtStateFlag_bounds_check;
ctx.state_flags |= StateFlag_no_bounds_check;
ctx.state_flags &= ~StateFlag_bounds_check;
}
check_proc_body(&ctx, pi.token, pi.decl, pi.type, pi.body);