aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2017-10-15 16:16:16 +0100
committergingerBill <bill@gingerbill.org>2017-10-15 16:16:16 +0100
commit56f7a859dfdb990aa480a4fac8c0f48b15e6b90c (patch)
tree4570ecc1a99e1579ed4a81f93b649272b52c6883 /src/checker.cpp
parente5e14b99476c72c1aa1cc8cb36fa05f5aa830de4 (diff)
Refactor code to remove entity flag for export
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index fbdd299a1..9fdf715e4 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -1482,12 +1482,16 @@ PtrSet<Entity *> generate_minimum_dependency_set(CheckerInfo *info, Entity *star
add_dependency_to_map(&map, info, e);
}
} else if (e->kind == Entity_Procedure) {
+ if (e->Procedure.is_export) {
+ add_dependency_to_map(&map, info, e);
+ }
if (e->Procedure.is_foreign) {
add_dependency_to_map(&map, info, e->Procedure.foreign_library);
}
- }
- if (e->flags & EntityFlag_ForeignExport) {
- add_dependency_to_map(&map, info, e);
+ } else if (e->kind == Entity_Variable) {
+ if (e->Variable.is_export) {
+ add_dependency_to_map(&map, info, e);
+ }
}
}
@@ -1971,7 +1975,7 @@ void check_collect_value_decl(Checker *c, AstNode *decl) {
e->Variable.is_foreign = true;
e->Variable.foreign_library_ident = fl;
} else if (c->context.in_foreign_export) {
- e->flags |= EntityFlag_ForeignExport;
+ e->Variable.is_export = true;
}
entities[entity_count++] = e;
@@ -2032,7 +2036,7 @@ void check_collect_value_decl(Checker *c, AstNode *decl) {
e->Procedure.foreign_library_ident = fl;
e->Procedure.is_foreign = true;
} else if (c->context.in_foreign_export) {
- e->flags |= EntityFlag_ForeignExport;
+ e->Procedure.is_export = true;
}
d->proc_lit = init;
d->type_expr = pl->type;