aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jsifier.js6
-rw-r--r--src/snippets.js19
2 files changed, 17 insertions, 8 deletions
diff --git a/src/jsifier.js b/src/jsifier.js
index 292dcce5..45b2e397 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -144,7 +144,11 @@ function JSify(data) {
processItem: function(item) {
var shortident = item.ident.substr(1);
if (shortident in Snippets) {
- item.JS = item.ident + ' = ' + Snippets[shortident].toString();
+ var snippet = Snippets[shortident];
+ if (typeof snippet === 'string') {
+ snippet = Snippets[snippet]; // redirection for aliases
+ }
+ item.JS = item.ident + ' = ' + snippet.toString();
} else {
item.JS = '// stub for ' + item.ident;
}
diff --git a/src/snippets.js b/src/snippets.js
index a30ca7c8..8779e87f 100644
--- a/src/snippets.js
+++ b/src/snippets.js
@@ -12,6 +12,11 @@ var Snippets = {
putchar: function(p) {
__print__(String.fromCharCode(p));
},
+ _ZNSo3putEc: 'putchar',
+
+ _ZNSo5flushEv: function() {
+ __print__('\n');
+ },
// ?
@@ -27,6 +32,7 @@ var Snippets = {
atexit: function(func) {
__ATEXIT__.push(func);
},
+ __cxa_atexit: 'atexit',
// string.h
@@ -130,6 +136,7 @@ var Snippets = {
// iostream
_ZNSt8ios_base4InitC1Ev: function() {
},
+ _ZNSt8ios_base4InitD1Ev: '_ZNSt8ios_base4InitC1Ev',
_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_: 0, // endl
_ZNSolsEi: function(stream, data) {
__print__(data);
@@ -143,16 +150,14 @@ var Snippets = {
_ZNSolsEPFRSoS_E: function(stream, data) {
__print__('\n');
},
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i: function(stream, data, call_) {
+ __print__(Pointer_stringify(data));
+ },
// math.h
- sqrt: function(x) { return Math.sqrt(x) },
cos: function(x) { return Math.cos(x) },
sin: function(x) { return Math.sin(x) },
+ sqrt: function(x) { return Math.sqrt(x) },
+ llvm_sqrt_f64: 'sqrt',
};
-// Aliases ============================
-
-Snippets.__cxa_atexit = Snippets.atexit;
-// iostream
-Snippets._ZNSt8ios_base4InitD1Ev = Snippets._ZNSt8ios_base4InitC1Ev;
-