aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-10-23 17:48:34 -0700
committeralon@honor <none@none>2010-10-23 17:48:34 -0700
commite4b1cfc027f7e0ebb21a423d2bd763b17e9b88b3 (patch)
tree441560259535d75cb937c8babd000d978bc9bd91 /src
parent13bec340b6137fa1cb4549c1f92b4ef2bcc66580 (diff)
handle llvm functions in ret
Diffstat (limited to 'src')
-rw-r--r--src/intertyper.js2
-rw-r--r--src/jsifier.js2
-rw-r--r--src/library.js12
-rw-r--r--src/preamble.js6
4 files changed, 8 insertions, 14 deletions
diff --git a/src/intertyper.js b/src/intertyper.js
index b20f9391..fa3b1f45 100644
--- a/src/intertyper.js
+++ b/src/intertyper.js
@@ -600,7 +600,7 @@ function intertyper(data) {
__result__: true,
intertype: 'return',
type: item.tokens[1].text,
- value: item.tokens[2] ? item.tokens[2].text : null,
+ value: item.tokens[2] ? parseLLVMSegment(item.tokens.slice(2)) : null,
lineNum: item.lineNum,
}];
},
diff --git a/src/jsifier.js b/src/jsifier.js
index 66cf22e7..e73a5861 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -571,7 +571,7 @@ function JSify(data) {
if (LABEL_DEBUG) ret += "INDENT = INDENT.substr(0, INDENT.length-2);\n";
ret += 'return';
if (item.value) {
- ret += ' ' + toNiceIdent(item.value);
+ ret += ' ' + finalizeLLVMParameter(item.value);
}
return ret + ';';
});
diff --git a/src/library.js b/src/library.js
index c064b928..b276eba8 100644
--- a/src/library.js
+++ b/src/library.js
@@ -40,12 +40,6 @@ var Library = {
// string.h
- strlen: function(p) {
- var q = p;
- while (IHEAP[q] != 0) q++;
- return q - p;
- },
-
strspn: function(pstr, pset) {
var str = String_copy(pstr, true);
var set = String_copy(pset);
@@ -78,12 +72,6 @@ var Library = {
}
},
- strlen: function(ptr) {
- var i = 0;
- while (IHEAP[ptr+i] != 0) i++;
- return i;
- },
-
strcat: function(pdest, psrc) {
var len = Pointer_stringify(pdest).length; // TODO: use strlen, but need dependencies system
var i = 0;
diff --git a/src/preamble.js b/src/preamble.js
index 303ece97..2df8afdb 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -277,6 +277,12 @@ function llvm_memset_i32(ptr, value, num) {
}
_llvm_memset_p0i8_i32 = llvm_memset_i32;
+function _strlen(ptr) {
+ var i = 0;
+ while (IHEAP[ptr+i] != 0) i++;
+ return i;
+}
+
// Tools
PRINTBUFFER = '';