[qfcc] Fix another type aliasing bug

This one exposed by the address expression cleanup.
This commit is contained in:
Bill Currie 2022-01-08 16:54:08 +09:00
parent fa482e8ee5
commit d14f695c68

View file

@ -1921,7 +1921,8 @@ bitnot_expr:
if (extract_type (e) != ev_pointer) if (extract_type (e) != ev_pointer)
return error (e, "invalid type for unary ."); return error (e, "invalid type for unary .");
e = new_unary_expr ('.', e); e = new_unary_expr ('.', e);
e->e.expr.type = get_type (e->e.expr.e1)->t.fldptr.type; const type_t *t = unalias_type (get_type (e->e.expr.e1));
e->e.expr.type = t->t.fldptr.type;
return e; return e;
case '+': case '+':
if (!is_math (get_type (e))) if (!is_math (get_type (e)))