mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 04:42:32 +00:00
Handle aliased values when emitting statements
With this, cast address initializers work. I have to wonder if the alias value short-circuit was legacy from long before the rewrite, as it was quite trivial to handle in the back-end.
This commit is contained in:
parent
e4eb793fb3
commit
3e651b43f8
1 changed files with 2 additions and 0 deletions
|
@ -906,6 +906,8 @@ expr_alias (sblock_t *sblock, expr_t *e, operand_t **op)
|
||||||
while (def->alias)
|
while (def->alias)
|
||||||
def = def->alias;
|
def = def->alias;
|
||||||
*op = def_operand (alias_def (def, type, offset), 0);
|
*op = def_operand (alias_def (def, type, offset), 0);
|
||||||
|
} else if (aop->op_type == op_value) {
|
||||||
|
*op = value_operand (aop->o.value);
|
||||||
} else {
|
} else {
|
||||||
internal_error (e, "invalid alias target: %s: %s",
|
internal_error (e, "invalid alias target: %s: %s",
|
||||||
optype_str (aop->op_type), operand_string (aop));
|
optype_str (aop->op_type), operand_string (aop));
|
||||||
|
|
Loading…
Reference in a new issue