aboutsummaryrefslogtreecommitdiff
path: root/src/checker.hpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-07-10 23:51:37 +0100
committergingerBill <bill@gingerbill.org>2021-07-10 23:51:37 +0100
commitd9e6ade03007f4ede6471a6ada23b2469e2f052d (patch)
treeef13bc1d0b2b547abb3403c1f0e48226910c6ecc /src/checker.hpp
parent690374d4dec42365fd28cd6f9f1361697fdd7b9f (diff)
Add experimental support for a threaded semantic checker to `-threaded-checker`
Diffstat (limited to 'src/checker.hpp')
-rw-r--r--src/checker.hpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/checker.hpp b/src/checker.hpp
index 9395d1565..6a00ce0e1 100644
--- a/src/checker.hpp
+++ b/src/checker.hpp
@@ -144,6 +144,7 @@ struct DeclInfo {
Type * gen_proc_type; // Precalculated
bool is_using;
bool where_clauses_evaluated;
+ bool proc_checked;
CommentGroup *comment;
CommentGroup *docs;
@@ -289,6 +290,7 @@ struct CheckerInfo {
gbMutex identifier_uses_mutex;
gbMutex entity_mutex;
gbMutex foreign_mutex;
+ gbMutex scope_mutex;
Map<ExprInfo *> untyped; // Key: Ast * | Expression -> ExprInfo *
// NOTE(bill): This needs to be a map and not on the Ast
@@ -398,7 +400,6 @@ Entity *scope_insert (Scope *s, Entity *entity);
ExprInfo *check_get_expr_info (CheckerInfo *i, Ast *expr);
-void check_remove_expr_info (CheckerInfo *i, Ast *expr);
void add_untyped (CheckerInfo *i, Ast *expression, bool lhs, AddressingMode mode, Type *basic_type, ExactValue value);
void add_type_and_value (CheckerInfo *i, Ast *expression, AddressingMode mode, Type *type, ExactValue value);
void add_entity_use (CheckerContext *c, Ast *identifier, Entity *entity);