From 2957f007e34ed7e2704a40c9e7af9148aebcdf23 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sun, 18 Jun 2017 17:35:27 +0100 Subject: Fix #location for anonymous procedures --- src/ir.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index e73b0a288..7e4858c44 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -3677,7 +3677,7 @@ irValue *ir_build_builtin_proc(irProcedure *proc, AstNode *expr, TypeAndValue tv Entity *e = entity_of_ident(proc->module->info, ident); GB_ASSERT(e != NULL); - if (e->parent_proc_decl != NULL) { + if (e->parent_proc_decl != NULL && e->parent_proc_decl->entity_count > 0) { procedure = e->parent_proc_decl->entities[0]->token.string; } else { procedure = str_lit(""); @@ -4665,7 +4665,10 @@ irValue *ir_build_expr(irProcedure *proc, AstNode *expr) { TypeTuple *pt = &type->params->Tuple; if (arg_count < type->param_count) { - String procedure = proc->entity->token.string; + String procedure = {}; + if (proc->entity != NULL) { + procedure = proc->entity->token.string; + } TokenPos pos = ast_node_token(ce->proc).pos; isize end = type->param_count; -- cgit v1.2.3