diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-04-20 12:53:42 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-04-20 12:53:42 -0400 |
commit | 84bb28c0422c2d0dea555aeec946e73cf2b818a8 (patch) | |
tree | aeb69859c0d986773f23335c22c07c295975525a /parse.c | |
parent | 1258bb75d2941df4b2d56c38d14a97c57722e2e0 (diff) | |
download | roux-84bb28c0422c2d0dea555aeec946e73cf2b818a8.tar.gz |
support calls with no return
I thought it would be harder (and maybe it is). My fear was that a call must be always followed by a parallel move from machine registers (this is an assumption in both spill and rega). This however remains true, because the ABI code generates a dummy "copy RAX" by accident!
Diffstat (limited to 'parse.c')
-rw-r--r-- | parse.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/parse.c b/parse.c index 4c3a974..ed88114 100644 --- a/parse.c +++ b/parse.c @@ -508,7 +508,7 @@ parseline(PState ps) err("label or } expected"); switch (t) { default: - if (isstore(t)) { + if (isstore(t) || t == Tcall) { /* operations without result */ r = R; k = Kw; |