aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-04-26 19:46:42 +0100
committergingerBill <bill@gingerbill.org>2021-04-26 19:46:42 +0100
commita38586420cd2d8534a7be83851d8ca174cce1bcb (patch)
tree1640bdc8740d0fa6fbdd8231b5cd0235727cdba5 /src
parent1aa9c49172caedb57568c3d2f563981e5b558b0d (diff)
Fix race condition with procedure aliases checking for declarations on constant aliases
Diffstat (limited to 'src')
-rw-r--r--src/check_decl.cpp4
-rw-r--r--src/checker.cpp1
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) {