diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-12-05 16:38:32 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-12-07 14:23:23 -0800 |
commit | 3b285840597c19062b03ff72230d43c6e8f947b6 (patch) | |
tree | 52c4f3c118acb85e720b3c2c5f58b9935fdb1d1f /src/parseTools.js | |
parent | b6466081c6023181cdbfc3421c78966edfdf7c44 (diff) |
start to legalize structural return values into one direct return plus the rest in globals
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index a7a45f09..c1428353 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -1539,8 +1539,15 @@ function handleOverflow(text, bits) { } } -function makeLLVMStruct(values) { // TODO: Use this everywhere - return '{ ' + values.map(function(value, i) { return 'f' + i + ': ' + value }).join(', ') + ' }' +function makeLLVMStruct(values) { + return 'DEPRECATED' + (new Error().stack) + 'XXX'; +} + +function makeStructuralReturn(values) { + var i = 1; + return 'return (' + values.slice(1).map(function(value) { + return 'tempRet' + (i++) + ' = ' + value; + }).concat([values[0]]).join(',') + ')'; } // From parseLLVMSegment |