aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-10-19 23:40:26 -0700
committeralon@honor <none@none>2010-10-19 23:40:26 -0700
commit8bb90cfc466b8c4d8bfdff5cc16d8928a0e3778c (patch)
tree19aa2950bc264e24bb4f4e63c3077d477706820a /src
parent3a35f56a2eab1f79b67fd9f34fca045c537d60b4 (diff)
more fastcc
Diffstat (limited to 'src')
-rw-r--r--src/intertyper.js5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/intertyper.js b/src/intertyper.js
index 0b31236c..5f3f02bc 100644
--- a/src/intertyper.js
+++ b/src/intertyper.js
@@ -418,7 +418,7 @@ function intertyper(data) {
item.tokens.splice(0, 1);
}
assertEq(item.tokens[0].text, 'call');
- if (['signext', 'zeroext'].indexOf(item.tokens[1].text) != -1) {
+ if (['signext', 'zeroext', 'fastcc'].indexOf(item.tokens[1].text) != -1) {
item.tokens.splice(1, 1);
}
item.type = item.tokens[1].text;
@@ -452,13 +452,14 @@ function intertyper(data) {
substrate.addZyme('Invoke', {
processItem: function(item) {
item.intertype = 'invoke';
- item.type = item.tokens[1].text;
item.functionType = '';
+ cleanOutTokens(['fastcc'], item.tokens, 1);
while (['@', '%'].indexOf(item.tokens[2].text[0]) == -1) {
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.type = item.tokens[1].text;
item.ident = item.tokens[2].text;
item.params = parseParamTokens(item.tokens[3].item[0].tokens);
item.toLabel = toNiceIdent(item.tokens[6].text);