Fix checking _ constant declarations with a procedure

This commit is contained in:
gingerBill
2019-01-10 11:22:52 +00:00
parent 5af20aa467
commit d453b9a5b1
2 changed files with 16 additions and 4 deletions
+13 -1
View File
@@ -1845,7 +1845,19 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
}
}
} else {
// constant value declarations
// constant value declaration
// NOTE(bill): Check `_` declarations
for_array(i, vd->names) {
Ast *name = vd->names[i];
if (is_blank_ident(name)) {
Entity *e = name->Ident.entity;
DeclInfo *d = decl_info_of_entity(e);
if (d != nullptr) {
check_entity_decl(ctx, e, d, nullptr);
}
}
}
}
case_end;
}
+3 -3
View File
@@ -962,9 +962,9 @@ void add_type_and_value(CheckerInfo *i, Ast *expr, AddressingMode mode, Type *ty
void add_entity_definition(CheckerInfo *i, Ast *identifier, Entity *entity) {
GB_ASSERT(identifier != nullptr);
GB_ASSERT(identifier->kind == Ast_Ident);
if (is_blank_ident(identifier)) {
return;
}
// if (is_blank_ident(identifier)) {
// return;
// }
if (identifier->Ident.entity != nullptr) {
// NOTE(bill): Identifier has already been handled
return;