Fix anonymous procedures

This commit is contained in:
gingerBill
2018-07-01 16:21:32 +01:00
parent 3a16f1e854
commit 9bef5ec01a
4 changed files with 30 additions and 9 deletions
+1 -1
View File
@@ -1578,7 +1578,7 @@ void ir_emit_zero_init(irProcedure *p, irValue *address, Ast *expr) {
args[0] = ir_emit_conv(p, address, t_rawptr);
args[1] = ir_const_int(a, type_size_of(t));
AstPackage *pkg = get_core_package(p->module->info, str_lit("mem"));
if (p->entity->token.string != "zero" && p->entity->pkg != pkg) {
if (p->entity != nullptr && p->entity->token.string != "zero" && p->entity->pkg != pkg) {
ir_emit_package_call(p, "mem", "zero", args, expr);
}
ir_emit(p, ir_instr_zero_init(p, address));
+3
View File
@@ -4292,6 +4292,9 @@ bool parse_file(Parser *p, AstFile *f) {
CommentGroup *docs = f->lead_comment;
f->package_token = expect_token(f, Token_package);
if (f->error_count > 0) {
return false;
}
Token package_name = expect_token_after(f, Token_Ident, "package");
if (package_name.kind == Token_Ident) {
if (package_name.string == "_") {