diff options
author | alon@honor <none@none> | 2010-09-03 20:03:18 -0700 |
---|---|---|
committer | alon@honor <none@none> | 2010-09-03 20:03:18 -0700 |
commit | a0a31c81d8b7f17eccbafdf2c8741deabf08499a (patch) | |
tree | 94f14c2339449c6b334ae46d15b206d215ac19eb /src | |
parent | 1a589b26cead1d457f466480651975d6dff121d1 (diff) |
fixes for invoke (+fix of regression in test runner)
Diffstat (limited to 'src')
-rw-r--r-- | src/enzymatic.js | 2 | ||||
-rw-r--r-- | src/parser.js | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/enzymatic.js b/src/enzymatic.js index fd74bcc0..419cc73e 100644 --- a/src/enzymatic.js +++ b/src/enzymatic.js @@ -77,7 +77,7 @@ Substrate.prototype = { outputs = zyme.process(selected); //PROF(); } catch (e) { - print("Exception, current selected are: " + selected.map(dump).join('\n\n').substr(0,100)); + print("Exception, current selected are: " + selected.map(dump).join('\n\n')); print("Stack: " + dump(new Error().stack)); throw e; } diff --git a/src/parser.js b/src/parser.js index 05018e29..3e9e36b1 100644 --- a/src/parser.js +++ b/src/parser.js @@ -252,6 +252,12 @@ function parseBitcast(segment) { return ret; } +function cleanOutTokens(filterOut, tokens, index) { + while (filterOut.indexOf(tokens[index].text) != -1) { + tokens.splice(index, 1); + } +} + function _HexToInt(stringy) { var ret = 0; var mul = 1; @@ -681,11 +687,16 @@ function intertyper(data) { item.functionType += item.tokens[2].text; item.tokens.splice(2, 1); } + cleanOutTokens(['alignstack', 'alwaysinline', 'inlinehint', 'naked', 'noimplicitfloat', 'noinline', 'alwaysinline attribute.', 'noredzone', 'noreturn', 'nounwind', 'optsize', 'readnone', 'readonly', 'ssp', 'sspreq'], item.tokens, 4); item.ident = item.tokens[2].text; item.params = parseParamTokens(item.tokens[3].item[0].tokens); item.toLabel = toNiceIdent(item.tokens[6].text); item.unwindLabel = toNiceIdent(item.tokens[9].text); - item.__result__ = true; + if (item.indent == 2) { + // standalone call - not in assign + item.standalone = true; + item.__result__ = true; + } return [item]; }, }); |