Fix constant aliasing for debug information

This commit is contained in:
gingerBill
2021-04-26 22:36:20 +01:00
parent 6667b78c12
commit 04535b2913
3 changed files with 11 additions and 3 deletions

View File

@@ -359,7 +359,7 @@ void override_entity_in_scope(Entity *original_entity, Entity *new_entity) {
}
if (original_entity->identifier != nullptr &&
original_entity->identifier->kind == Ast_Ident) {
original_entity->identifier->Ident.entity = new_entity;
original_entity->identifier->Ident.entity = nullptr;
}
original_entity->flags |= EntityFlag_Overridden;

View File

@@ -3544,7 +3544,9 @@ void lb_build_constant_value_decl(lbProcedure *p, AstValueDecl *vd) {
Ast *ident = vd->names[i];
GB_ASSERT(ident->kind == Ast_Ident);
Entity *e = entity_of_node(ident);
GB_ASSERT(e != nullptr);
if (e == nullptr) {
continue;
}
if (e->kind != Entity_TypeName) {
continue;
}
@@ -3573,7 +3575,9 @@ void lb_build_constant_value_decl(lbProcedure *p, AstValueDecl *vd) {
Ast *ident = vd->names[i];
GB_ASSERT(ident->kind == Ast_Ident);
Entity *e = entity_of_node(ident);
GB_ASSERT(e != nullptr);
if (e == nullptr) {
continue;
}
if (e->kind != Entity_Procedure) {
continue;
}

View File

@@ -1502,6 +1502,10 @@ bool is_semicolon_optional_for_node(AstFile *f, Ast *s) {
return false;
}
if (build_context.insert_semicolon) {
return true;
}
switch (s->kind) {
case Ast_EmptyStmt:
case Ast_BlockStmt: