aboutsummaryrefslogtreecommitdiff
path: root/src/analyzer.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-12-05 21:05:36 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-12-07 14:23:24 -0800
commit06fa6cfb4833dfe8044ef373f4bd47c98a8ee103 (patch)
tree8c6766b864afd500b90782f84e69e1fcc03745a6 /src/analyzer.js
parent13cd3506e7f1525aff8522db9c4541cb744083c9 (diff)
properly legalize return
Diffstat (limited to 'src/analyzer.js')
-rw-r--r--src/analyzer.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/analyzer.js b/src/analyzer.js
index 6d433c87..f917d149 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -347,7 +347,11 @@ function analyzer(data, sidePass) {
case 'return': {
bits = getBits(item.type);
var elements = getLegalVars(item.value.ident, bits);
- item.value.ident = '[' + elements.map(function(element) { return element.ident }).join(',') + ']';
+ item.value.ident = '(';
+ for (var j = 1; j < elements.length; j++) {
+ item.value.ident += 'tempRet' + (j-1) + '=' + elements[j].ident + ',';
+ }
+ item.value.ident += elements[0].ident + ')';
i++;
continue;
}