summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2018-07-06 16:37:42 +0000
committerOri Bernstein <ori@eigenstate.org>2018-07-06 21:24:13 -0700
commit3706df6d6726eb94ac301e4a8eae5d6dc3393df4 (patch)
treebc30d7576d874d5dd75e1a5f72dc3ef16fbe23e7
parentd489185e0bf6b3ef4aa394938810c5c1483841a5 (diff)
downloadmc-3706df6d6726eb94ac301e4a8eae5d6dc3393df4.tar.gz
Fix auto expressions for complex values.
Hello Myrddin folks, The current code to handle auto expressions does not correctly deal with complex values (i.e., values that do not fit in a register). This patch attempts to fix the issue. -- Quentin
-rw-r--r--mi/flatten.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/mi/flatten.c b/mi/flatten.c
index 022ffe4..5a74996 100644
--- a/mi/flatten.c
+++ b/mi/flatten.c
@@ -537,9 +537,8 @@ rval(Flattenctx *s, Node *n)
args = n->expr.args;
switch (exprop(n)) {
case Oauto:
- r = rval(s, n->expr.args[0]);
- t = temp(s, r);
- r = asn(t, r);
+ t = temp(s, n);
+ r = assign(s, t, n->expr.args[0]);
lappend(&s->curst->autotmp, &s->curst->nautotmp, t);
break;
case Osize: