diff options
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 3 |
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; |