summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm2asm.h13
-rw-r--r--test/unit.2asm.js4
2 files changed, 14 insertions, 3 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index f33065a5d..606423e8e 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -100,7 +100,18 @@ public:
}
static IString fromName(Name name) {
- return name; // TODO: add a "$" or other prefixing? sanitization of bad chars?
+ // TODO: more clever name fixing, including checking we do not collide
+ const char *str = name.str;
+ if (strchr(str, '-')) {
+ char *mod = strdup(str);
+ str = mod;
+ while (*mod) {
+ if (*mod == '-') *mod = '_';
+ mod++;
+ }
+ name = IString(str, false);
+ }
+ return name;
}
void setStatement(Expression* curr) {
diff --git a/test/unit.2asm.js b/test/unit.2asm.js
index daf81c3b8..cc69449e7 100644
--- a/test/unit.2asm.js
+++ b/test/unit.2asm.js
@@ -61,7 +61,7 @@ function asmFunc() {
function conversions() {
var i = 0, d = 0.0;
{
- i = f64-to-int(d) | 0;
+ i = f64_to_int(d) | 0;
d = +i;
d = +((i >>> 0 | 0) >>> 0);
}
@@ -100,7 +100,7 @@ function asmFunc() {
}
function frem() {
- return +f64-rem(5.5, 1.2);
+ return +f64_rem(5.5, 1.2);
}
function big_uint_div_u() {