aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 517a63506..026b1e7c1 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -885,6 +885,7 @@ void destroy_checker(Checker *c) {
Entity *entity_of_ident(Ast *identifier) {
+ identifier = unparen_expr(identifier);
if (identifier->kind == Ast_Ident) {
return identifier->Ident.entity;
}
@@ -1042,6 +1043,8 @@ void add_type_and_value(CheckerInfo *i, Ast *expr, AddressingMode mode, Type *ty
expr->tav.value = value;
} else if (mode == Addressing_Value && is_type_typeid(type)) {
expr->tav.value = value;
+ } else if (mode == Addressing_Value && is_type_proc(type)) {
+ expr->tav.value = value;
}
prev_expr = expr;