diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-26 19:46:42 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-26 19:46:42 +0100 |
| commit | a38586420cd2d8534a7be83851d8ca174cce1bcb (patch) | |
| tree | 1640bdc8740d0fa6fbdd8231b5cd0235727cdba5 /src | |
| parent | 1aa9c49172caedb57568c3d2f563981e5b558b0d (diff) | |
Fix race condition with procedure aliases checking for declarations on constant aliases
Diffstat (limited to 'src')
| -rw-r--r-- | src/check_decl.cpp | 4 | ||||
| -rw-r--r-- | src/checker.cpp | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp index 85c58fdf9..218dce2ee 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -460,14 +460,14 @@ void check_const_decl(CheckerContext *ctx, Entity *e, Ast *type_expr, Ast *init, case Entity_LibraryName: case Entity_ImportName: { - override_entity_in_scope(e, entity); - DeclInfo *decl = decl_info_of_entity(e); if (decl != nullptr) { if (decl->attributes.count > 0) { error(decl->attributes[0], "Constant alias declarations cannot have attributes"); } } + + override_entity_in_scope(e, entity); return; } } diff --git a/src/checker.cpp b/src/checker.cpp index 89809779b..878435d67 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -3260,6 +3260,7 @@ void check_collect_value_decl(CheckerContext *c, Ast *decl) { d->type_expr = vd->type; d->init_expr = init; + if (is_ast_type(init)) { e = alloc_entity_type_name(d->scope, token, nullptr); // if (vd->type != nullptr) { |