|
@@ -11323,6 +11323,13 @@ gb_internal ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast
|
|
node->viral_state_flags |= de->expr->viral_state_flags;
|
|
node->viral_state_flags |= de->expr->viral_state_flags;
|
|
|
|
|
|
if (o->mode == Addressing_Invalid) {
|
|
if (o->mode == Addressing_Invalid) {
|
|
|
|
+ o->mode = Addressing_Invalid;
|
|
|
|
+ o->expr = node;
|
|
|
|
+ return kind;
|
|
|
|
+ } else if (o->mode == Addressing_Type) {
|
|
|
|
+ gbString str = expr_to_string(o->expr);
|
|
|
|
+ error(o->expr, "Cannot dereference '%s' because it is a type", str);
|
|
|
|
+
|
|
o->mode = Addressing_Invalid;
|
|
o->mode = Addressing_Invalid;
|
|
o->expr = node;
|
|
o->expr = node;
|
|
return kind;
|
|
return kind;
|