diff --git a/core/odin/parser/parser.odin b/core/odin/parser/parser.odin index e5d74f049..fab822e1e 100644 --- a/core/odin/parser/parser.odin +++ b/core/odin/parser/parser.odin @@ -150,7 +150,7 @@ parse_file :: proc(p: ^Parser, file: ^ast.File) -> bool { switch name := pkg_name.text; { case is_blank_ident(name): error(p, pkg_name.pos, "invalid package name '_'"); - case is_package_name_reserved(name), file.pkg.kind != .Runtime && name == "runtime": + case is_package_name_reserved(name), file.pkg != nil && file.pkg.kind != .Runtime && name == "runtime": error(p, pkg_name.pos, "use of reserved package name '%s'", name); } } @@ -3070,7 +3070,7 @@ parse_binary_expr :: proc(p: ^Parser, lhs: bool, prec_in: int) -> ^ast.Expr { if expr == nil { return ast.new(ast.Bad_Expr, start_pos, end_pos(p.prev_tok)); } - + for prec := token_precedence(p, p.curr_tok.kind); prec >= prec_in; prec -= 1 { for { op := p.curr_tok;